diff options
Diffstat (limited to 'src/core/display.c')
-rw-r--r-- | src/core/display.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/core/display.c b/src/core/display.c index 76408930..68569f3a 100644 --- a/src/core/display.c +++ b/src/core/display.c @@ -82,9 +82,10 @@ #include <X11/extensions/Xdamage.h> #include <X11/extensions/Xfixes.h> #include <gtk/gtk.h> - #include <gdk/gdkx.h> #endif +#include <gdk/gdkx.h> + #include <string.h> #define GRAB_OP_IS_WINDOW_SWITCH(g) \ @@ -1469,15 +1470,17 @@ static gboolean maybe_send_event_to_gtk(MetaDisplay* display, XEvent* xevent) * (client-side) subwindow for individual menu items. */ - if (gdk_display_pointer_is_grabbed(gdk_display)) - { - return FALSE; - } - #if GTK_CHECK_VERSION (3, 0, 0) GdkDeviceManager *device_manager = gdk_display_get_device_manager (gdk_display); GdkDevice *device = gdk_device_manager_get_client_pointer (device_manager); + + if (gdk_display_device_is_grabbed(gdk_display, device)) +#else + if (gdk_display_pointer_is_grabbed(gdk_display)) #endif + { + return FALSE; + } switch (xevent->type) { |