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.
This commit is contained in:
@@ -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))
|
||||
|
||||
Reference in New Issue
Block a user