58 lines
1.9 KiB
Diff
58 lines
1.9 KiB
Diff
From aba0b9ef643a14d6187c42c1733b6309332c1ed1 Mon Sep 17 00:00:00 2001
|
|
From: Alynx Zhou <alynx.zhou@gmail.com>
|
|
Date: Thu, 9 Jan 2020 10:12:41 +0800
|
|
Subject: [PATCH 19/48] keybindings: Move common window grab code out of X-only
|
|
if statement
|
|
|
|
`3c8d4171` moved some common codes into X11-only code blocks by mistake,
|
|
and it prevents keyboard window resize/move mode under Wayland because
|
|
those variables are unset. This commit fixed it via moving such common
|
|
codes out of X11-only code blocks.
|
|
|
|
Fixes: https://gitlab.gnome.org/GNOME/mutter/issues/949
|
|
|
|
https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/997
|
|
---
|
|
src/core/keybindings.c | 17 +++++++++--------
|
|
1 file changed, 9 insertions(+), 8 deletions(-)
|
|
|
|
diff --git a/src/core/keybindings.c b/src/core/keybindings.c
|
|
index 64f392f07..ab1ace5ae 100644
|
|
--- a/src/core/keybindings.c
|
|
+++ b/src/core/keybindings.c
|
|
@@ -1820,12 +1820,12 @@ meta_window_grab_all_keys (MetaWindow *window,
|
|
meta_topic (META_DEBUG_KEYBINDINGS,
|
|
"Grabbing all keys on window %s\n", window->desc);
|
|
retval = grab_keyboard (grabwindow, timestamp, XIGrabModeAsync);
|
|
- if (retval)
|
|
- {
|
|
- window->keys_grabbed = FALSE;
|
|
- window->all_keys_grabbed = TRUE;
|
|
- window->grab_on_frame = window->frame != NULL;
|
|
- }
|
|
+ }
|
|
+ if (retval)
|
|
+ {
|
|
+ window->keys_grabbed = FALSE;
|
|
+ window->all_keys_grabbed = TRUE;
|
|
+ window->grab_on_frame = window->frame != NULL;
|
|
}
|
|
|
|
return retval;
|
|
@@ -1835,9 +1835,10 @@ void
|
|
meta_window_ungrab_all_keys (MetaWindow *window,
|
|
guint32 timestamp)
|
|
{
|
|
- if (!meta_is_wayland_compositor () && window->all_keys_grabbed)
|
|
+ if (window->all_keys_grabbed)
|
|
{
|
|
- ungrab_keyboard (timestamp);
|
|
+ if (!meta_is_wayland_compositor())
|
|
+ ungrab_keyboard (timestamp);
|
|
|
|
window->grab_on_frame = FALSE;
|
|
window->all_keys_grabbed = FALSE;
|
|
--
|
|
2.26.0.rc2
|
|
|