diff options
author | Florian Müllner <fmuellner@gnome.org> | 2023-03-10 19:11:33 +0100 |
---|---|---|
committer | Marge Bot <marge-bot@gnome.org> | 2023-03-20 16:13:32 +0000 |
commit | f14dcb023d7c9af248d8cf8dc73d3d98160a2f87 (patch) | |
tree | 9142d32f012f8fd9aacd667ccaa71d8be58833d8 | |
parent | 3988f5a47fdff05aa71d92a1741ab3cad725b375 (diff) | |
download | mutter-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.c | 4 |
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"); |