mirror of
https://github.com/brl/mutter.git
synced 2024-12-03 05:10:40 -05: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;
|
MetaWindow *window;
|
||||||
MetaDisplay *display = x11_display->display;
|
MetaDisplay *display = x11_display->display;
|
||||||
MetaWorkspaceManager *workspace_manager = display->workspace_manager;
|
MetaWorkspaceManager *workspace_manager = display->workspace_manager;
|
||||||
|
MetaBackend *backend = meta_get_backend ();
|
||||||
|
ClutterStage *stage = CLUTTER_STAGE (meta_backend_get_stage (backend));
|
||||||
|
|
||||||
if (input_event == NULL)
|
if (input_event == NULL)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
@ -973,6 +975,9 @@ handle_input_xevent (MetaX11Display *x11_display,
|
|||||||
if (display->event_route != META_EVENT_ROUTE_NORMAL)
|
if (display->event_route != META_EVENT_ROUTE_NORMAL)
|
||||||
break;
|
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
|
/* Check if we've entered a window; do this even if window->has_focus to
|
||||||
* avoid races.
|
* avoid races.
|
||||||
*/
|
*/
|
||||||
@ -992,6 +997,9 @@ handle_input_xevent (MetaX11Display *x11_display,
|
|||||||
if (display->event_route != META_EVENT_ROUTE_NORMAL)
|
if (display->event_route != META_EVENT_ROUTE_NORMAL)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
if (clutter_stage_get_grab_actor (stage) != NULL)
|
||||||
|
break;
|
||||||
|
|
||||||
if (window != NULL &&
|
if (window != NULL &&
|
||||||
enter_event->mode != XINotifyGrab &&
|
enter_event->mode != XINotifyGrab &&
|
||||||
enter_event->mode != XINotifyUngrab)
|
enter_event->mode != XINotifyUngrab)
|
||||||
|
Loading…
Reference in New Issue
Block a user