summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Müllner <fmuellner@gnome.org>2023-03-10 19:11:33 +0100
committerMarge Bot <marge-bot@gnome.org>2023-03-20 16:13:32 +0000
commitf14dcb023d7c9af248d8cf8dc73d3d98160a2f87 (patch)
tree9142d32f012f8fd9aacd667ccaa71d8be58833d8
parent3988f5a47fdff05aa71d92a1741ab3cad725b375 (diff)
downloadmutter-f14dcb023d7c9af248d8cf8dc73d3d98160a2f87.tar.gz
compositor/window-drag: Fix keyboard resize
Both GRAB_OP_KEYBOARD_MOVING and GRAB_OP_KEYBOARD_RESIZING_* are defined as GRAB_OP_WINDOW_BASE with FLAG_KEYBOARD set, but the latter have additional bits set to indicate the direction. That is, the GRAB_OP_KEYBOARD_MOVING bitmask cannot be used to differentiate between move- and resize operations. Instead, check that no direction bits are set. https://gitlab.gnome.org/GNOME/mutter/-/issues/2684 Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2908>
-rw-r--r--src/compositor/meta-window-drag.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/compositor/meta-window-drag.c b/src/compositor/meta-window-drag.c
index 9410aa710..2d16da4a2 100644
--- a/src/compositor/meta-window-drag.c
+++ b/src/compositor/meta-window-drag.c
@@ -1097,8 +1097,8 @@ process_key_event (MetaWindowDrag *window_drag,
if (window_drag->grab_op & META_GRAB_OP_WINDOW_FLAG_KEYBOARD)
{
- if ((window_drag->grab_op & META_GRAB_OP_KEYBOARD_MOVING) ==
- META_GRAB_OP_KEYBOARD_MOVING)
+ if ((window_drag->grab_op & (META_GRAB_OP_WINDOW_DIR_MASK |
+ META_GRAB_OP_WINDOW_FLAG_UNKNOWN)) == 0)
{
meta_topic (META_DEBUG_KEYBINDINGS,
"Processing event for keyboard move");