backends/x11: Flush connection after ungrab
Modal ungrabs may be followed by other clients trying to grab themselves, flush the connection so we ensure the right order of events on the Xserver side. An example of this is js/ui/modalDialog.js in gnome-shell, as the alt-F2 dialog may launch X11 clients trying to grab themselves, commit a40daa3c22 in gnome-shell handled the case and added a gdk_display_sync() call to ensure no grab existed at the time of executing. This commit aims to achieve the same built in MetaBackend. A full sync seems excessive though, as we just need to make sure the server got the messages queued before the other side tries to grab, a XFlush seems sufficient for this.
This commit is contained in:
parent
231aadd3f0
commit
262a3ecbd6
@ -577,6 +577,7 @@ meta_backend_x11_ungrab_device (MetaBackend *backend,
|
||||
int ret;
|
||||
|
||||
ret = XIUngrabDevice (priv->xdisplay, device_id, timestamp);
|
||||
XFlush (priv->xdisplay);
|
||||
|
||||
return (ret == Success);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user