32 lines
1.0 KiB
Diff
32 lines
1.0 KiB
Diff
From: Robert Carr <racarr@canonical.com>
|
|
Date: Wed, 30 Nov 2011 00:25:29 +0100
|
|
Subject: Do not allow devices in an offscreen hierarchy to take grabs.
|
|
|
|
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=658563
|
|
Bug: https://gitlab.gnome.org/GNOME/gtk/issues/368
|
|
Bug-Ubuntu: https://launchpad.net/bugs/804009
|
|
Forwarded: yes
|
|
---
|
|
gtk/gtkmain.c | 5 +++++
|
|
1 file changed, 5 insertions(+)
|
|
|
|
diff --git a/gtk/gtkmain.c b/gtk/gtkmain.c
|
|
index 6148489..7cd685c 100644
|
|
--- a/gtk/gtkmain.c
|
|
+++ b/gtk/gtkmain.c
|
|
@@ -2327,9 +2327,14 @@ gtk_device_grab_add (GtkWidget *widget,
|
|
{
|
|
GtkWindowGroup *group;
|
|
GtkWidget *old_grab_widget;
|
|
+ GdkWindow *toplevel;
|
|
|
|
g_return_if_fail (GTK_IS_WIDGET (widget));
|
|
g_return_if_fail (GDK_IS_DEVICE (device));
|
|
+
|
|
+ toplevel = gdk_window_get_toplevel (gtk_widget_get_window (widget));
|
|
+ if (toplevel && gdk_window_get_window_type (toplevel) == GDK_WINDOW_OFFSCREEN)
|
|
+ return;
|
|
|
|
group = gtk_main_get_window_group (widget);
|
|
old_grab_widget = gtk_window_group_get_current_device_grab (group, device);
|