diff --git a/src/core/window.c b/src/core/window.c index 0f0c644d6..ff4816eea 100644 --- a/src/core/window.c +++ b/src/core/window.c @@ -4162,8 +4162,13 @@ meta_window_move_resize_internal (MetaWindow *window, g_signal_emit (window, window_signals[SIZE_CHANGED], 0); } - if (moved_or_resized || did_placement) - window->unconstrained_rect = unconstrained_rect; + /* Only update the stored size when requested but not when a + * (potentially outdated) request completes */ + if (!(flags & META_MOVE_RESIZE_WAYLAND_FINISH_MOVE_RESIZE) || + flags & META_MOVE_RESIZE_WAYLAND_CLIENT_RESIZE) + { + window->unconstrained_rect = unconstrained_rect; + } if ((moved_or_resized || did_placement ||