core: Drop MetaX11Display ungrab before MetaDisplay grabs

This is no longer necessary, since the SSD frames are no longer
part of Mutter process, so it is not the MetaX11Display connection
which holds the implicit grab when a mouse button is pressed over
a window frame (say, to start a drag).

As the SSD frames client communicates the same way than CSD windows
for window operations, it is also expected to undo its implicit
grab before requesting a window move/resize operation.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2683>
This commit is contained in:
Carlos Garnacho 2022-09-30 12:55:27 +02:00 committed by Marge Bot
parent b8ab24d816
commit 452e4f4801

View File

@ -1878,19 +1878,6 @@ meta_display_begin_grab_op (MetaDisplay *display,
display->grab_have_pointer = FALSE; display->grab_have_pointer = FALSE;
if (META_IS_BACKEND_X11 (backend_from_display (display)) &&
display->x11_display)
{
/* Since grab operations often happen as a result of implicit
* pointer operations on the display X11 connection, we need
* to ungrab here to ensure that the backend's X11 can take
* the device grab. */
XIUngrabDevice (display->x11_display->xdisplay,
META_VIRTUAL_CORE_POINTER_ID,
timestamp);
XSync (display->x11_display->xdisplay, False);
}
if (meta_backend_grab_device (backend, META_VIRTUAL_CORE_POINTER_ID, timestamp)) if (meta_backend_grab_device (backend, META_VIRTUAL_CORE_POINTER_ID, timestamp))
display->grab_have_pointer = TRUE; display->grab_have_pointer = TRUE;