Bjørn Lie
9b2020216c
- Add e001b421.patch: tooltip: don't cross native boundaries. OBS-URL: https://build.opensuse.org/request/show/1112612 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/gtk4?expand=0&rev=148
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
|
|
|