Do not test the event mask of implicit grabs
The quartz backend simulates the semantics of XGrabPointer, as a part of this it checks the event mask of the grab. However, implicit grabs on X do not go through XGrabPointer and thus the quartz backend should not check the event mask for these. This fixes various "the UI got stuck" cases.
This commit is contained in:
parent
e9d732bde7
commit
cf80feb3dd
@ -498,7 +498,11 @@ find_window_for_ns_event (NSEvent *nsevent,
|
||||
grab = _gdk_display_get_last_pointer_grab (display);
|
||||
if (grab)
|
||||
{
|
||||
if ((grab->event_mask & get_event_mask_from_ns_event (nsevent)) == 0)
|
||||
/* Implicit grabs do not go through XGrabPointer and thus the
|
||||
* event mask should not be checked.
|
||||
*/
|
||||
if (!grab->implicit
|
||||
&& (grab->event_mask & get_event_mask_from_ns_event (nsevent)) == 0)
|
||||
return NULL;
|
||||
|
||||
if (grab->owner_events)
|
||||
|
Loading…
Reference in New Issue
Block a user