From 6fc723a8914603c8e91de4c26ab9fef1a622a645 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 21 Feb 2012 11:27:03 +0100 Subject: [PATCH] gdk: Use the last alive grab in order to get the event window If an active grab kicks in on a different window, _gdk_display_has_device_grab() would still find the former implicit grab for the window below the pointer, thus sending events to an unrelated place. --- gdk/gdkwindow.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index 4f2ca0d176..9d2136585f 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -9135,7 +9135,7 @@ get_event_window (GdkDisplay *display, GdkTouchGrabInfo *touch_grab; touch_grab = _gdk_display_has_touch_grab (display, device, touch_id, serial); - grab = _gdk_display_has_device_grab (display, device, serial); + grab = _gdk_display_get_last_device_grab (display, device); if (touch_grab != NULL && (!grab || grab->implicit || touch_grab->serial >= grab->serial_start))