47 lines
1.7 KiB
Diff
47 lines
1.7 KiB
Diff
|
From 114550407564f25469984f69e0707f4d8940e1d0 Mon Sep 17 00:00:00 2001
|
||
|
From: Zander Brown <zbrown@gnome.org>
|
||
|
Date: Sun, 27 Aug 2023 01:54:56 +0100
|
||
|
Subject: [PATCH] tooltip: don't cross native boundaries
|
||
|
|
||
|
When walking the tree looking for tooltips we shouldn't cross from, say,
|
||
|
a popover to it's parent window
|
||
|
|
||
|
Fix: https://gitlab.gnome.org/GNOME/gtk/-/issues/1234
|
||
|
Fix: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1038
|
||
|
Fix: https://gitlab.gnome.org/GNOME/gtk/-/issues/5998
|
||
|
Fix: https://gitlab.gnome.org/GNOME/nautilus/-/issues/3063
|
||
|
See: https://gitlab.gnome.org/GNOME/console/-/issues/318
|
||
|
See: https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/6346
|
||
|
---
|
||
|
gtk/gtktooltip.c | 7 +++++--
|
||
|
1 file changed, 5 insertions(+), 2 deletions(-)
|
||
|
|
||
|
diff --git a/gtk/gtktooltip.c b/gtk/gtktooltip.c
|
||
|
index c007b1641b1..7bc11a694ca 100644
|
||
|
--- a/gtk/gtktooltip.c
|
||
|
+++ b/gtk/gtktooltip.c
|
||
|
@@ -302,8 +302,8 @@ gtk_tooltip_set_icon_from_gicon (GtkTooltip *tooltip,
|
||
|
* Replaces the widget packed into the tooltip with
|
||
|
* @custom_widget. @custom_widget does not get destroyed when the tooltip goes
|
||
|
* away.
|
||
|
- * By default a box with a `GtkImage` and `GtkLabel` is embedded in
|
||
|
- * the tooltip, which can be configured using gtk_tooltip_set_markup()
|
||
|
+ * By default a box with a `GtkImage` and `GtkLabel` is embedded in
|
||
|
+ * the tooltip, which can be configured using gtk_tooltip_set_markup()
|
||
|
* and gtk_tooltip_set_icon().
|
||
|
*/
|
||
|
void
|
||
|
@@ -560,6 +560,9 @@ gtk_tooltip_run_requery (GtkWidget **widget,
|
||
|
{
|
||
|
GtkWidget *parent = gtk_widget_get_parent (*widget);
|
||
|
|
||
|
+ if (GTK_IS_NATIVE (*widget))
|
||
|
+ break;
|
||
|
+
|
||
|
if (parent)
|
||
|
{
|
||
|
graphene_point_t r = GRAPHENE_POINT_INIT (*x, *y);
|
||
|
--
|
||
|
GitLab
|
||
|
|