mirror of
https://github.com/brl/mutter.git
synced 2024-12-25 20:32:16 +00:00
x11/events: Do not handle enter/leave during grabs
The COMPOSITOR_GRAB event route has effectively been replaced by ClutterGrabs, which are no longer covered by the existing check. So check for grabs as well to restore the old behavior. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2436>
This commit is contained in:
parent
f73ad1d8d2
commit
d04a197723
@ -943,6 +943,8 @@ handle_input_xevent (MetaX11Display *x11_display,
|
||||
MetaWindow *window;
|
||||
MetaDisplay *display = x11_display->display;
|
||||
MetaWorkspaceManager *workspace_manager = display->workspace_manager;
|
||||
MetaBackend *backend = meta_get_backend ();
|
||||
ClutterStage *stage = CLUTTER_STAGE (meta_backend_get_stage (backend));
|
||||
|
||||
if (input_event == NULL)
|
||||
return FALSE;
|
||||
@ -973,6 +975,9 @@ handle_input_xevent (MetaX11Display *x11_display,
|
||||
if (display->event_route != META_EVENT_ROUTE_NORMAL)
|
||||
break;
|
||||
|
||||
if (clutter_stage_get_grab_actor (stage) != NULL)
|
||||
break;
|
||||
|
||||
/* Check if we've entered a window; do this even if window->has_focus to
|
||||
* avoid races.
|
||||
*/
|
||||
@ -992,6 +997,9 @@ handle_input_xevent (MetaX11Display *x11_display,
|
||||
if (display->event_route != META_EVENT_ROUTE_NORMAL)
|
||||
break;
|
||||
|
||||
if (clutter_stage_get_grab_actor (stage) != NULL)
|
||||
break;
|
||||
|
||||
if (window != NULL &&
|
||||
enter_event->mode != XINotifyGrab &&
|
||||
enter_event->mode != XINotifyUngrab)
|
||||
|
Loading…
Reference in New Issue
Block a user