diff options
author | Jonas Ådahl <jadahl@gmail.com> | 2020-09-18 10:26:42 +0200 |
---|---|---|
committer | Jonas Ådahl <jadahl@gmail.com> | 2020-09-30 09:25:12 +0200 |
commit | 4125acf8cd8e69a13af3c2b24b1e595872657114 (patch) | |
tree | 34f7d905b619952341e2eec0c08daa8665630351 | |
parent | 3536ad08c4de9666e426524e6e9ee18dbba93f2a (diff) | |
download | mutter-4125acf8cd8e69a13af3c2b24b1e595872657114.tar.gz |
wayland/window: Always flag acked move/resize as 'moved' if moved
We only did this if we weren't currently doing an interactive resize,
but since the finish_move_resize() is not the actual interactive resize
but the acknowledgment of the configure event that was emitted as a
result, we shouldn't limit ourself to the same flags used during resize.
This fixes temporarly "stuck" position of attached modal dialogs while
they are being resized.
Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/1163
https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1446
(cherry picked from commit db7967327ad35b7d1ce1e137e5eaffc5aaa0598c)
-rw-r--r-- | src/wayland/meta-window-wayland.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/wayland/meta-window-wayland.c b/src/wayland/meta-window-wayland.c index 47cbf1897..ab5b7f86e 100644 --- a/src/wayland/meta-window-wayland.c +++ b/src/wayland/meta-window-wayland.c @@ -951,9 +951,6 @@ meta_window_wayland_finish_move_resize (MetaWindow *window, rect.x += dx; rect.y += dy; - - if (rect.x != window->rect.x || rect.y != window->rect.y) - flags |= META_MOVE_RESIZE_MOVE_ACTION; } else { @@ -964,6 +961,9 @@ meta_window_wayland_finish_move_resize (MetaWindow *window, } } + if (rect.x != window->rect.x || rect.y != window->rect.y) + flags |= META_MOVE_RESIZE_MOVE_ACTION; + if (wl_window->has_pending_state_change && acked_configuration) { flags |= META_MOVE_RESIZE_WAYLAND_STATE_CHANGED; |