summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Fix gtktestutils.c -> gtktypefuncs.c dependencylrn/fix-gtktypefuncs-genРуслан Ижбулатов2018-05-061-1/+1
| | | | | The use of $(srcdir) in the name of the file makes this recipe not work in some circumstances.
* Menu: cleanups for previous commit and nearbyDaniel Boles2018-05-061-11/+11
| | | | | | | • #include <math.h> for the new uses of floor() • Move the new ints and popdown_data into the scopes where they are used • Don’t pointlessly init other ints to 0 as they always get reassigned • Burninate gint
* Menu: Fix broken navigation triangle/hysteresisSam Douglas2018-05-061-6/+11
| | | | | | | | | | This issue was caused when mouse coordinates were changed to floating point values in commit e8b38fedbd8961df4aaaa75b122a06ddc68e75f2. This patch floors the event->x_root and event->y_root values when setting the navigation region, so the previous behaviour is restored. https://gitlab.gnome.org/GNOME/gtk/issues/450
* x11: Set a transparent background on windows by defaultBenjamin Otte2018-05-041-0/+3
| | | | This avoids black flicker on compositing WMs when a window is first shown.
* emoji chooser: Match search terms betterMatthias Clasen2018-05-041-1/+1
| | | | | | | | Use g_str_match_string for better results. cherry-pick of be2853e5deb60274e43352352de74dc458908fe2 https://gitlab.gnome.org/GNOME/gtk/issues/898
* Merge branch 'wip/lantw/gtk3-use-dev-evdev-input-h-on-freebsd' into 'gtk-3-22'Matthias Clasen2018-05-022-3/+11
|\ | | | | | | | | wayland: Use dev/evdev/input.h on FreeBSD (GTK3) See merge request GNOME/gtk!132
| * wayland: Use dev/evdev/input.h on FreeBSDTing-Wei Lan2018-05-012-3/+11
| | | | | | | | | | | | | | | | | | | | | | The header linux/input.h used by GDK is specific to Linux. It is possible to get a few Linux headers on FreeBSD by installing v4l_compat, but it is usually better to use the one shipped with FreeBSD. We prefer dev/evdev/input.h to linux/input.h here, so it will always use dev/evdev/input.h on FreeBSD regardless of v4l_compat. https://svnweb.freebsd.org/changeset/ports/465644
* | Update Finnish translationJiri Grönroos2018-05-011-406/+419
|/
* Merge branch '169-gtktextview-accesses-already-disposed-object-3-22' into ↵Benjamin Otte2018-04-301-4/+8
|\ | | | | | | | | | | | | 'gtk-3-22' Resolve "GtkTextView accesses already disposed object" in 3.22 See merge request GNOME/gtk!110
| * TextView: Don't access already disposed text markMarek Kasik2018-04-171-4/+8
| | | | | | | | | | | | | | Instead of asking of TextMark for its buffer, let's reference also the buffer in the SelectionData. Closes #169
* | Merge branch 'window-activate-grab-3-3' into 'gtk-3-22'Benjamin Otte2018-04-302-2/+2
|\ \ | | | | | | | | | | | | gdk: do not deactivate window on keyboard grabs See merge request GNOME/gtk!127
| * | gdk: do not deactivate surface on keyboard grabsSamuel Thibault2018-04-302-2/+2
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When pressing e.g. a window manager shortcut, which acquires keyboard grab, Xorg would send FocusOut NotifyGrab then FocusIn NotifyUngrab. Currently gdk would then deactivate the current surface, which makes accessibility screen readers think that we have switched to a non-accessible application and came back again, and thus reannounce the application frame etc. which we don't want when e.g. just raising volume. And actually, receiving FocusOut NotifyGrab does not mean losing the X focus, it only means an application aqcuired a grab, i.e. it is temporarily stealing keyboard events. On Wayland, this isn't even notified actually. This commit makes gdk only deactivate surfaces when there was an actual focus switch to another window, as determined by has_focus_window (instead of just has_focus), which happens either normally through FocusOut with NotifyNormal, or during grabs through FocusOut with NotifyWhileGrabbed. Fixes #85 (cherry picked from commit 01455399e83a3dbafb0cdc6e12c7003b2f472a40)
* | gtkselection: ensure W32 functions used only for W32 displays (v2)Руслан Ижбулатов2018-04-261-1/+2
| | | | | | | | Another instance of a check needed for gdk_win32_selection_add_targets().
* | gtkselection: ensure W32 functions used only for W32 displaysРуслан Ижбулатов2018-04-261-9/+10
| | | | | | | | gdk_win32_selection_add_targets() is for W32 displays only.
* | imcontextsimple: ensure W32 code only runs on W32 displaysРуслан Ижбулатов2018-04-261-19/+22
| | | | | | | | | | | | gdk_win32_keymap_check_compose() shouldn't be called for non-W32 displays (i.e. when using broadway or other backends that could be made to run on Windows).
* | fishbowl: Port version from GTK 4Benjamin Otte2018-04-267-631/+549
| | | | | | | | This version also merges widgetbowl into fishbowl.
* | Add _gtk_printer_get_hard_margins_for_paper_size()Adrian Johnson2018-04-256-2/+95
| | | | | | | | | | | | | | | | to retreive paper size specific hard margins and use this to set the hard margins in the print context. (modified by Marek Kasik <mkasik@redhat.com>) https://bugzilla.gnome.org/show_bug.cgi?id=686109
* | Update Spanish translationDaniel Mustieles2018-04-251-609/+616
| |
* | testentrycompletion: Avoid a compiler cast warningDaniel Boles2018-04-241-1/+1
| | | | | | | | | | Instead of getting the model again but then forgetting to cast it to a ListStore, just use the other variable store where we already did both.
* | Update Russian translationStas Solovey2018-04-241-167/+167
| |
* | wayland: Allow a NULL inhibitors hash tableEmmanuele Bassi2018-04-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The shortcuts inhibitors hash table is created when we create a GdkWaylandWindow implementation for a GdkWindow, and it's destroyed once we finalize the instance. The fake "root" window we create for the Wayland display does not have a backing native window, so the shortcuts inhibitors hash table is set to NULL; this causes a critical error message when calling g_hash_table_destroy() on it. The finalization of the root window happens when we close a display connection. We should use g_clear_pointer(), instead, as it's NULL safe. Without this change, the displayclose test fails, as all warnings are considered fatal.
* | build: Do not dist generated filesEmmanuele Bassi2018-04-231-6/+3
| | | | | | | | | | | | We expect these files to be regenerated even when building GTK+ from a release tarball, so there's no point in distributing them if they are going to be ignored.
* | x11: Query whether we have GLX supportEmmanuele Bassi2018-04-231-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | Epoxy 1.4 has new ad hoc API that we can use to check whether GLX is available on the current system. If we didn't use this API, we'd have to manually dlopen libGL (or its equivalent on different OSes) and check if it had GLX symbols; since Epoxy already does all of this internally, we can simply ask it instead. https://bugzilla.gnome.org/show_bug.cgi?id=775279 (cherry picked from commit 02eb344950547c66a9096094f271b98e94614fcb) Signed-off-by: Emmanuele Bassi <ebassi@gnome.org>
* | Bump up the dependency of libepoxyEmmanuele Bassi2018-04-231-1/+1
| | | | | | | | | | | | | | We're going to use API introduced in libepoxy 1.4 to check for GLX availability. https://bugzilla.gnome.org/show_bug.cgi?id=775279
* | themes: Fix a new commentDaniel Boles2018-04-222-2/+2
| | | | | | | | bah.
* | themes: Fix swapped borders on RTL PathBar buttonsDaniel Boles2018-04-226-24/+106
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | .linked assumes the container is a GtkBox, which is documented as never flipping children in RTL, so :first-child is always the left child, etc. GtkBox does that by reordering its CSS nodes when the direction changes. But most widgets don’t do that, so :first|last-child are 1st/last ADDED and swap sides in RTL. GtkPathBar is so, and ignoring that in our themes meant that in RTL, its left/right buttons got each other’s borders. Yuk! This patch adds the groundwork for supporting widgets like that, via the %linked_flippable placeholder, and applies that to override buttons in filechooser .path-bar.linked > button so that the correct borders get applied to those buttons when using RTL. Note that I select only PathBars within a FileChooser because we also have NautilusPathBar, which also uses widget.path-bar – but *does* flip its nodes for RTL already, so letting that get affected broke it again! https://bugzilla.gnome.org/show_bug.cgi?id=772817
* | MenuButton: popover connects to menu_deactivate_cbDaniel Boles2018-04-221-0/+3
| | | | | | | | | | | | This was missed (even before my recent patches). https://gitlab.gnome.org/GNOME/gtk/issues/199
* | MenuButton: Disconnect newly added signal handlerDaniel Boles2018-04-221-6/+12
| | | | | | | | | | | | | | Otherwise, we do stuff we shouldn't, as the failing pipeline showed: https://gitlab.gnome.org/GNOME/gtk/pipelines/9431 https://gitlab.gnome.org/GNOME/gtk/issues/199
* | MenuButton: Clarify NULL popup/over/menu/model docDaniel Boles2018-04-221-12/+18
| |
* | MenuButton: Drop ref to Popover on its ::destroyDaniel Boles2018-04-221-0/+8
| | | | | | | | | | | | | | Otherwise, if the Popover is destroyed before the MenuButton, the latter still had a non-NULL but invalid instance and tried to use it in dispose https://gitlab.gnome.org/GNOME/gtk/issues/199
* | docs/running: Document the GTK_OVERLAY_SCROLLING env varDaniel Boles2018-04-221-0/+12
| | | | | | | | https://bugzilla.gnome.org/show_bug.cgi?id=786524
* | Stock: Emphasise deprecation; explain alternativesDaniel Boles2018-04-222-4/+10
| | | | | | | | | | | | | | | | | | A user in #gtk+ was confused what to do instead of creating a Button via gtk_button_new_from_stock(). Our docs could stand to be clearer on this point; it only costs a few lines. So, link from that constructor* to the GtkStock doc, and add a banner there telling folk they shouldn’t use it. * not that most [of these][links] even work right now…
* | Entry: Show optional style classes in node diagramDaniel Boles2018-04-221-1/+1
| |
* | gdkselection: Clarify that X is only a design baseDaniel Boles2018-04-221-3/+9
| | | | | | | | | | | | rather than being a requirement for using our selection APIs. https://bugzilla.gnome.org/show_bug.cgi?id=791542
* | a11y/ScrolledWin|IconView: Connect signals safelyJuan Pablo Ugarte2018-04-222-18/+18
| | | | | | | | | | | | | | | | Use g_signal_connect_data() instead of g_signal_connect_object() to make sure the callback gets disconnected when the data object is destroyed. This avoids problems in garbage-collected bindings. https://bugzilla.gnome.org/show_bug.cgi?id=789215
* | printing: Be more careful when deserializingMatthias Clasen2018-04-201-2/+5
| | | | | | | | | | | | | | | | | | The GVariant we are getting here might not be coming from GTK+, but rather from some other source. Best to be forgiving and deal with missing data without crashing. This was causing the GTK+ portal backends to crash on print requests from Qt.
* | Merge branch 'stack-set-name-guard' into 'gtk-3-22'Emmanuele Bassi2018-04-191-0/+2
|\ \ | | | | | | | | | | | | stack: protect set_visible_child_name from NULL stack See merge request GNOME/gtk!117
| * | stack: protect set_visible_child_name from NULL stackMarco Trevisan (Treviño)2018-04-181-0/+2
| | | | | | | | | | | | | | | Return with error if gtk_stack_set_visible_child_name is called with NULL parameter
* | | Merge branch 'gtkplacesview-finalization-fixes-master' into 'master'Emmanuele Bassi2018-04-191-0/+4
|/ / | | | | | | | | | | | | | | | | | | Gtkplacesview finalization fixes See merge request GNOME/gtk!119 (cherry picked from commit e30176a5228228f28f914d87120b9a650d0073b8) f9452957 gtkplacesview: unset entry_pulse_timeout_id before removing it 4900c3eb gtkplacesview: disconnect from server list monitor changes on destroy
* | UIManager: Document deprecation; link replacementsDaniel Boles2018-04-181-1/+7
| | | | | | | | Close https://gitlab.gnome.org/GNOME/gtk/issues/193
* | Range: Use should_invert_move() to scroll valueDaniel Boles2018-04-181-7/+17
| | | | | | | | | | | | | | This fixes RTL and/or :inverted Ranges responding to a horizontal scroll by moving the value/slider button in the opposite direction... See prev. https://bugzilla.gnome.org/show_bug.cgi?id=791802
* | Range: Add should_invert_move() for scrolls & keysDaniel Boles2018-04-171-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will be used in subsequent commits to fix the sign by which the value is changed in response to directional scroll or keypress events. The idea is: you have a movement to make – in the form of a delta that follows widget directions, i.e. −1 means left or up, +1 means right or down – and you want to know whether that delta needs to be inverted in order to produce the intuitively expected directional change of :value. The existing should_invert() is not sufficient: it just determines whether to invert visually, but we need more nuance than that for input. To answer that – while not doubling up the work for scrolls and keys – I add a helper should_invert_move(), which considers other relevant state: • A parallel movement on priv->orientation should just use the existing should_invert(), which already worked OK for this case (not others). • Movements on the other orientation now depend on priv->orientation: ◦ For a horizontal Range, always invert, so up (i.e. −ve in terms of widget coords) always means increase value & vice-versa. This was done in get_wheel_delta(), but move it here for use with keys too. ◦ For a vertical Range, ignore :invert as it’s only relevant to the parallel orientation. Do not care about text direction here either as RTL locales do not invert number lines, Cartesian plots, etc. This returns TRUE if the delta should be inverted before applying to the value, and we can now use this function in both scroll and key handlers. https://bugzilla.gnome.org/show_bug.cgi?id=407242 https://bugzilla.gnome.org/show_bug.cgi?id=791802
* | Menu|Item: Fix FIXME re non-const interned stringsDaniel Boles2018-04-174-6/+5
| | | | | | | | These are members of the private struct, so it hurts no one to fix this.
* | Menu: Sanitise @torn_off gboolean in public APIDaniel Boles2018-04-171-0/+1
| |
* | Menu: Remove redundant typecheck in private funcDaniel Boles2018-04-171-1/+0
| | | | | | | | Everything that calls this already ensured we are a valid GtkMenu.
* | Menu: Document/annotate nullability of 2 API argsDaniel Boles2018-04-171-2/+3
| | | | | | | | | | | | | | .set_accel_path(): Use (nullable) instead of (allow-none), and explain what a NULL means (albeit very briefly) .set_title(): Annotate @title as (nullable), and explain NULL’s meaning
* | Menu: Typecheck AccelGroup passed via public APIDaniel Boles2018-04-171-0/+1
| |
* | Menu: Typecheck before dereferencing to get ->privDaniel Boles2018-04-171-9/+26
| |
* | MenuShell: Sanitise take_focus bool via public APIDaniel Boles2018-04-171-0/+1
| | | | | | | | We store in priv then compare it later, so better make sure it’s 0 or 1.
* | MenuShell: Typecheck the instance @ select_first()Daniel Boles2018-04-171-1/+5
| | | | | | | | since this is public API and therefore might get junk passed to it.