diff options
author | Daniel Boles <dboles.src@gmail.com> | 2018-10-07 18:15:09 +0100 |
---|---|---|
committer | Daniel Boles <dboles.src@gmail.com> | 2018-10-07 18:26:30 +0100 |
commit | 9b7d886b723132eade2e76f3fd179cf81b7601f2 (patch) | |
tree | 778347509f559f1317681e53701c1968c8c34d0c | |
parent | b10cde7bdc058a5b6cfd9cf75195fef654bbd2d8 (diff) | |
download | gtk+-9b7d886b723132eade2e76f3fd179cf81b7601f2.tar.gz |
Tooltip: Fix the used cursor size if 0 in Settings
Before the recent rework of positioning in GtkTooltip, the widget always
used the cursor_size of the GdkDisplay. That work redid this to instead
take GtkSettings::gtk-cursor-theme-size. But that property's doc says:
> Size to use for cursors, or 0 to use the default size.
and has 0 as its default. This is quite a likely scenario for anyone
whose desktop or settings.ini does not explicitly provide a cursor size,
which is the case for XFCE and win32, to name just two common platforms.
Then, it seems getting a cursor_size of 0 causes GtkTooltip to freak out
and hide/show itself at a very rapid speed, thus making it unusable.
So, we should check whether the Settings return 0 and, if so, still use
gdk_display_get_default_cursor_size (display) to ensure we get a size.
https://gitlab.gnome.org/GNOME/gtk/issues/1371
-rw-r--r-- | gtk/gtktooltip.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gtk/gtktooltip.c b/gtk/gtktooltip.c index f9156624ed..e5fc5dbdaa 100644 --- a/gtk/gtktooltip.c +++ b/gtk/gtktooltip.c @@ -898,6 +898,9 @@ gtk_tooltip_position (GtkTooltip *tooltip, "gtk-cursor-theme-size", &cursor_size, NULL); + if (cursor_size == 0) + cursor_size = gdk_display_get_default_cursor_size (display); + if (device) anchor_rect_padding = MAX (4, cursor_size - 32); else |