diff options
author | Jonas Ã…dahl <jadahl@gmail.com> | 2020-09-18 10:26:42 +0200 |
---|---|---|
committer | Georges Basile Stavracas Neto <georges.stavracas@gmail.com> | 2020-09-18 11:37:23 +0000 |
commit | db7967327ad35b7d1ce1e137e5eaffc5aaa0598c (patch) | |
tree | 52908279fd1d740fdbfa4d563ee91b540903c4cb | |
parent | aa638f4d4833f3d3df29835b1b5d146ffa4f80e8 (diff) | |
download | mutter-db7967327ad35b7d1ce1e137e5eaffc5aaa0598c.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
-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 cef8d44a4..a942dc9a3 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; |