diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2015-08-04 15:54:40 +0200 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2015-08-04 17:59:01 +0200 |
commit | 69c9cb85e2dfb5169a7d3b71b4ef7e9203126a83 (patch) | |
tree | 01d1186e093756a1da6ba1ceb49d0e43eb76f899 | |
parent | a6ca56969e85d0f482f86d08abf48aa7ce54012a (diff) | |
download | gtk+-69c9cb85e2dfb5169a7d3b71b4ef7e9203126a83.tar.gz |
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
-rw-r--r-- | gtk/gtkwindow.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index fb420a14b9..4e96d6f712 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)) |