mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2025-01-14 06:10:21 +00:00
gdkwindow: check grab window and children on get_pointer_window()
If !owner_events, the pointer window has been usually set to NULL if the pointer fell outside the grabbing widget, but it was not being checked that the pointer_window is actually a child of the grab window, in which case it should be obtained as if ungrabbed. https://bugzilla.gnome.org/show_bug.cgi?id=735749
This commit is contained in:
parent
f8f74b59e3
commit
f96437317b
@ -7623,7 +7623,8 @@ get_pointer_window (GdkDisplay *display,
|
||||
grab = _gdk_display_has_device_grab (display, device, serial);
|
||||
if (grab != NULL &&
|
||||
!grab->owner_events &&
|
||||
pointer_window != grab->window)
|
||||
pointer_window != grab->window &&
|
||||
!gdk_window_is_ancestor (pointer_window, grab->window))
|
||||
pointer_window = NULL;
|
||||
|
||||
return pointer_window;
|
||||
|
Loading…
Reference in New Issue
Block a user