diff --git a/src/core/display.c b/src/core/display.c index e4eb81529..0b763fb68 100644 --- a/src/core/display.c +++ b/src/core/display.c @@ -1277,6 +1277,12 @@ meta_grab_op_is_moving (MetaGrabOp op) gboolean meta_display_windows_are_interactable (MetaDisplay *display) { + MetaBackend *backend = meta_get_backend (); + MetaStage *stage = META_STAGE (meta_backend_get_stage (backend)); + + if (clutter_stage_get_grab_actor (CLUTTER_STAGE (stage))) + return FALSE; + switch (display->event_route) { case META_EVENT_ROUTE_NORMAL: @@ -1437,8 +1443,6 @@ meta_display_sync_wayland_input_focus (MetaDisplay *display) focus_window = NULL; else if (is_no_focus_xwindow) focus_window = NULL; - else if (clutter_stage_get_grab_actor (CLUTTER_STAGE (stage))) - focus_window = NULL; #ifdef HAVE_WAYLAND else if (display->focus_window && meta_window_get_wayland_surface (display->focus_window))