37
2366.patch
Normal file
37
2366.patch
Normal file
@@ -0,0 +1,37 @@
|
||||
From dd2eba8d12c2fca877e2180bbdcc5bce416781ae Mon Sep 17 00:00:00 2001
|
||||
From: Carlos Garnacho <carlosg@gnome.org>
|
||||
Date: Wed, 6 Apr 2022 16:07:07 +0200
|
||||
Subject: [PATCH] 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
|
||||
---
|
||||
src/core/display.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/src/core/display.c b/src/core/display.c
|
||||
index 5f99578a69..a1c5c2d912 100644
|
||||
--- a/src/core/display.c
|
||||
+++ b/src/core/display.c
|
||||
@@ -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
|
||||
--
|
||||
GitLab
|
||||
|
||||
Reference in New Issue
Block a user