From db7967327ad35b7d1ce1e137e5eaffc5aaa0598c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20=C3=85dahl?= Date: Fri, 18 Sep 2020 10:26:42 +0200 Subject: [PATCH] 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 --- src/wayland/meta-window-wayland.c | 6 +++--- 1 file 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;