[gtk+] gtkwindow: bail out on WM operations in the presence of grabs



commit 69c9cb85e2dfb5169a7d3b71b4ef7e9203126a83
Author: Carlos Garnacho <carlosg gnome org>
Date:   Tue Aug 4 15:54:40 2015 +0200

    gtkwindow: bail out on WM operations in the presence of grabs
    
    These operations will require a grab on the WM side, so we can spare the
    attempt from the WM to take a grab when we're certain it won't suceed.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=752327

 gtk/gtkwindow.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)
---
diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
index fb420a1..4e96d6f 100644
--- a/gtk/gtkwindow.c
+++ b/gtk/gtkwindow.c
@@ -1445,6 +1445,13 @@ multipress_gesture_pressed_cb (GtkGestureMultiPress *gesture,
 
   region = get_active_region_type (window, (GdkEventAny*) event, x, y);
 
+  if (gdk_display_device_is_grabbed (gtk_widget_get_display (widget),
+                                     gtk_gesture_get_device (GTK_GESTURE (gesture))))
+    {
+      gtk_gesture_set_state (priv->drag_gesture, GTK_EVENT_SEQUENCE_DENIED);
+      return;
+    }
+
   if (button == GDK_BUTTON_SECONDARY && region == GTK_WINDOW_REGION_TITLE)
     {
       if (gtk_window_titlebar_action (window, event, button, n_press))



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]