summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Add an experimentsuggestion-entryMatthias Clasen2020-07-102-0/+391
| | | | | | This is a suggestion entry that does infix matching, highlights the match, and sorts the matches by relevance.
* suggestionentry: Update action enablednessMatthias Clasen2020-07-101-4/+18
| | | | | | Update the action enabledness when appropriate so that an explicit button does not appear insensitive when it shouldn't.
* suggestionentry: Work better without a filterMatthias Clasen2020-07-102-51/+61
| | | | | | | | | Make it possible to use the suggestion entry by doing filtering in the model yourself, and set use-filter to FALSE. We are still getting the popup behavior, but inserting prefixes can't be guaranteed to work well if the filtering isn't doing prefix matching.
* suggestionentry: Handle no-model situationsMatthias Clasen2020-07-101-0/+7
| | | | | We shouldn't throw criticals when there is no model. Just act like a plain entry.
* docs: Mention GtkSuggestionEntry in list widget overviewMatthias Clasen2020-07-101-0/+2
|
* gtk-demo: Add suggestion entry demosMatthias Clasen2020-07-102-23/+173
| | | | | | Move the Dropdowns demo to Lists/Selections, and make it show both GtkDropDown and GtkSuggestionEntry, with some variations.
* suggestionentry: Add minimum-lengthMatthias Clasen2020-07-103-2/+75
| | | | A direct copy of GtkEntryCompletion:minimmum-key-length.
* suggestionentry: Add an optional buttonMatthias Clasen2020-07-103-18/+144
| | | | | | | | This is useful for comboboxtext-like use cases. To simulate comboboxtext behavior, set use-filter = FALSE show-button = TRUE insert-selection = TRUE
* Add GtkSuggestionEntryMatthias Clasen2020-07-1010-0/+1509
| | | | | | GtkSuggestionEntry is a replacement for GtkComboBoxText and GtkEntryCompletion, very similar to GtkDropDown, but using an entry as widget.
* Merge branch 'ebassi/ci-timeout' into 'master'Emmanuele Bassi2020-07-103-74/+126
|\ | | | | | | | | Ebassi/ci timeout See merge request GNOME/gtk!2223
| * build: Restructure the tests to use dictionariesEmmanuele Bassi2020-07-101-72/+115
| | | | | | | | | | | | Instead of an array of arrays, let's use an array of dictionaries; it's easier to add optional keys without requiring to remember where to put empty arrays.
| * Add the filtermodel-exhaustive test to the slow suiteEmmanuele Bassi2020-07-101-1/+1
| | | | | | | | This increases the default timeout.
| * Increase the default timeout for slow testsEmmanuele Bassi2020-07-101-2/+8
| | | | | | | | | | If a test is part of the 'slow' test suite, we should increment the default timeout to compensate.
| * ci: Increase the timeout multiplierEmmanuele Bassi2020-07-101-1/+1
| | | | | | | | We do have some slow tests.
| * ci: Use the timeout multiplier from the environmentEmmanuele Bassi2020-07-101-0/+3
| | | | | | | | When running our test suite on our CI infrastructure.
* | Merge branch 'ci-tweaks' into 'master'Matthias Clasen2020-07-101-2/+0
|\ \ | |/ |/| | | | | ci: Use lsan again See merge request GNOME/gtk!2224
| * ci: Use lsan againMatthias Clasen2020-07-101-2/+0
| | | | | | | | | | | | Turning it off didn't fix the crashes; and we allow the asan build to fail anyway now. And the leak reports are useful whenever it doesn't crash.
* | Merge branch 'asan-ci' into 'master'Matthias Clasen2020-07-107-4/+37
|\ \ | |/ | | | | | | Asan ci See merge request GNOME/gtk!2214
| * Disable lsan for nowMatthias Clasen2020-07-101-0/+2
| | | | | | | | | | | | | | The leak sanitizer causes on average 3-4 tests to segfault during a testsuite run. Disable it for now to see if we can get a successful testsuite run with asan alone.
| * ci: Add a build with asanMatthias Clasen2020-07-092-0/+16
| | | | | | | | | | | | | | | | | | Run our testsuite under asan. We do this in a separate build, since we need to turn off introspection to make the build succeed. As Michael Catanzaro pointed out, this requires a privileged runner in order to use kernel apis.
| * Ignore more leaks in asanMatthias Clasen2020-07-091-2/+4
| | | | | | | | | | | | | | These showed up in ci. The atk-bridge will be gone before too long anyway. Since we may not have debug symbols in ci, just at the so's.
| * ci: Set LSAN_OPTIONS for testsMatthias Clasen2020-07-091-0/+3
| | | | | | | | | | | | | | | | | | When running the testsuite with the address sanitizer, many of our dependencies cause it to report cause it to report memory leaks, causing tests to fail. Therefore, point the leak sanitizer at a list of suppressions. The list is kept in the lsan.supp file in git.
| * ci: Use the fedora:v20 imageMatthias Clasen2020-07-091-1/+1
| | | | | | | | This image includes libasan and libubsan.
| * ci: Mention image layering in the READMEMatthias Clasen2020-07-091-0/+9
| |
| * ci: Add libasan and libubsan to the imageMatthias Clasen2020-07-092-1/+2
| | | | | | | | | | | | | | | | Add libasan and libubsan to fedora-base:v20, and build fedora:20 on top of it. This is so we can build and run the tests with the address and undefined behavior sanitizers.
| * x11: Plug a memory leakMatthias Clasen2020-07-091-0/+2
| | | | | | | | Don't leak atoms when we're storing the clipboard.
* | Merge branch 'wip/Jehan/gio-querymodules-pkg-config-master' into 'master'Matthias Clasen2020-07-091-3/+15
|\ \ | | | | | | | | | | | | build-aux: search various Glib/GIO utilities in .pc file. See merge request GNOME/gtk!2129
| * | build-aux: fallback to default glib-compile-schemas & gio-querymodules.Jehan2020-06-281-0/+6
| | | | | | | | | | | | | | | | | | The pkg-config variables have been added in GLib 2.62.0. Let's fallback to default names for these tools in such case (`pkg-config` still returns a 0 return value, but with empty output for absent variables).
| * | build-aux: search various Glib/GIO utilities in .pc file.Jehan2020-06-281-3/+9
| | | | | | | | | | | | | | | | | | | | | Some distributions are renaming Glib/GIO utilities for multi-arch reasons so pkg-config variables have been added to find the correct name of a tool. GTK+ should use these variables instead of searching in PATH. See glib#1796.
* | | Merge branch 'matthiasc/for-master' into 'master'Matthias Clasen2020-07-091-0/+2
|\ \ \ | | | | | | | | | | | | | | | | x11: Plug a memory leak See merge request GNOME/gtk!2222
| * | | x11: Plug a memory leakMatthias Clasen2020-07-091-0/+2
|/ / / | | | | | | | | | Don't leak atoms when we're storing the clipboard.
* | | Merge branch 'wip/otte/for-master' into 'master'Benjamin Otte2020-07-094-8/+40
|\ \ \ | | | | | | | | | | | | | | | | Wip/otte/for master See merge request GNOME/gtk!2221
| * | | sorter: Remove a return_if_fail()Benjamin Otte2020-07-091-1/+2
| | | | | | | | | | | | | | | | It's too expsensive.
| * | | testsuite: Be more exhaustiveBenjamin Otte2020-07-091-6/+4
| | | | | | | | | | | | | | | | | | | | Create larger source models in tests, so that we hit the incremental batch size more often and have a higher chance to expose bugs there.
| * | | filterlistmodel: Don't filter out every 513th elementBenjamin Otte2020-07-092-1/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Incremental filtering would skip every 513th element due to an off-by-one error. Test included
* | | | Merge branch 'wip/carlosg/range-autoscroll' into 'master'Matthias Clasen2020-07-091-2/+2
|\ \ \ \ | |_|_|/ |/| | | | | | | | | | | gtkrange: group gestures the right way around See merge request GNOME/gtk!2220
| * | | gtkrange: group gestures the right way aroundCarlos Garnacho2020-07-091-2/+2
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The gtk_gesture_group() call is not a commutative operation, it takes two gestures, maybe detaches the first one from its current group, and adds it to the same group than the second gesture. With the flipped argument order here, GtkRange was actually detaching the same gesture in order to group it with a second one two times, so the desired effect to group all 3 gestures was not achieved. Fixes autoscroll as the drag gesture is now actually grouped with the click one, so drag offsets can be accessed from the autoscroll timeout.
* | | Merge branch 'matthiasc/for-master' into 'master'Matthias Clasen2020-07-091-2/+4
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | css: Plug a memory leak Closes #2921 See merge request GNOME/gtk!2219
| * | | css: Plug a memory leakMatthias Clasen2020-07-091-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a rule has no styles, we don't add it to our ruleset. Since we are not adopting the selectors in this case, we must free them. Fixes: #2921
* | | | Merge branch 'wip/carlosg/scrollbar-fixes' into 'master'Matthias Clasen2020-07-092-5/+21
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | Scrollbar fixes Closes #2879 See merge request GNOME/gtk!2216
| * | | gdk/x11: Ignore regular crossing events while in implicit grabsCarlos Garnacho2020-07-091-2/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we create an implicit grab on a surface, leave the surface, and release the button, we would get 2 XI_Leave events, one with mode XINotifyNormal when the pointer leaves the surface, and another with mode XINotifyUngrab when the button is released. Meanwhile, the upper layers rely on crossing events being paired, and particularly in no crossing event being sent until the implicit grab is dismissed (either by releasing it, or via more pervasive grabs). Ignoring the set of XINotifyNormal events while an implicit grab is active adapts the X11 backend to this behavior. If the grab were released or taken away by another grab, a crossing event with one of the other XINotify*Grab/XINotify*Ungrab will be generated. Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/2879
| * | | gtkscrolledwindow: Look up correctly target in captured motion eventsCarlos Garnacho2020-07-091-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Check correctly that the captured motion events are emitted towards the content or one of the scrollbars, in order to have it set the expected "over" state depending on whether the drag begins from the scrolledwindow content or one of the scrollbars. Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/2879
* | | | Merge branch 'matthiasc/for-master' into 'master'Matthias Clasen2020-07-091-0/+71
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Matthiasc/for master See merge request GNOME/gtk!2212
| * | | | NEWS: UpdatesMatthias Clasen2020-07-091-0/+71
| | | | |
| * | | | Add a suppression file for asanMatthias Clasen2020-07-091-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This can be used similar to valgrind suppressions: LSAN_OPTIONS=suppressions=`pwd`/lsan.supp meson tests -Cbuild
| * | | | tests: Plug some more memory leaksMatthias Clasen2020-07-092-1/+2
| | | | | | | | | | | | | | | | | | | | These showed up under asan.
| * | | | cups: Plug a memory leakMatthias Clasen2020-07-091-0/+1
| |/ / / | | | | | | | | | | | | This showed up under asan.
* | | | Merge branch 'ebassi/subprojects-depth' into 'master'Matthias Clasen2020-07-099-0/+9
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Use depth=1 for cloning sub-projects See merge request GNOME/gtk!2215
| * | | | Use depth=1 for cloning sub-projectsEmmanuele Bassi2020-07-099-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We don't really need the full history and branches when building sub-projects. This should shave some bandwidth and time in our CI pipeline as well.
* | | | | Merge branch 'file-chooser-api-cleanup-2' into 'master'Matthias Clasen2020-07-0918-442/+252
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | | | | | | File chooser api cleanup 2 See merge request GNOME/gtk!2213