mirror of
https://github.com/brl/mutter.git
synced 2024-11-25 17:40:40 -05:00
keybindings: always acknowledge events to the X server
https://bugzilla.gnome.org/show_bug.cgi?id=666101
This commit is contained in:
parent
12d2e1f600
commit
8c17b670fb
@ -1965,6 +1965,23 @@ process_overlay_key (MetaDisplay *display,
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
meta_display_overlay_key_activate (display);
|
meta_display_overlay_key_activate (display);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/* In some rare race condition, mutter might not receive the Super_L
|
||||||
|
* KeyRelease event because:
|
||||||
|
* - the compositor might end the modal mode and call XIUngrabDevice
|
||||||
|
* while the key is still down
|
||||||
|
* - passive grabs are only activated on KeyPress and not KeyRelease.
|
||||||
|
*
|
||||||
|
* In this case, display->overlay_key_only_pressed might be wrong.
|
||||||
|
* Mutter still ought to acknowledge events, otherwise the X server
|
||||||
|
* will not send the next events.
|
||||||
|
*
|
||||||
|
* https://bugzilla.gnome.org/show_bug.cgi?id=666101
|
||||||
|
*/
|
||||||
|
XIAllowEvents (display->xdisplay, event->deviceid,
|
||||||
|
XIAsyncDevice, event->time);
|
||||||
|
}
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user