core: Account ClutterStage grabs on Wayland key focus synchronization
When switching between the existence and not of a stage ClutterGrab, we would correctly attempt to synchronize key focus from the perspective of the Wayland clients. But this synchronization should do its own checks about existing stage grabs before determining a client window has key focus or not. Add that check, so that grabs correctly unfocus the keyboard in Wayland clients, in addition to pointers and touch. Fixes: https://gitlab.gnome.org/GNOME/mutter/-/issues/2194 Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2366>
This commit is contained in:
parent
ad838ec540
commit
91ae72acdf
@ -1431,6 +1431,8 @@ 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;
|
||||
else if (display->focus_window && display->focus_window->surface)
|
||||
focus_window = display->focus_window;
|
||||
else
|
||||
|
Loading…
Reference in New Issue
Block a user