From ac01e69a67642d255525e1a428a88a0bb6efc957 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20=C3=85dahl?= Date: Thu, 9 Jan 2020 17:55:56 +0100 Subject: [PATCH] window-wayland: Don't use grab op for some other window when resizing When resizing a window interactively, we'll set a grab operation and a grab window, among other things. If we're resizing (including setting initial size, i.e. mapping) another window, that didn't change position, don't use the gravity of the grab operation when resizing our own window. This fixes an issue with jumpy popup position when moving a previously mapped gtk popover. https://gitlab.gnome.org/GNOME/mutter/merge_requests/999 --- src/wayland/meta-window-wayland.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/wayland/meta-window-wayland.c b/src/wayland/meta-window-wayland.c index b6b949e36..47cbf1897 100644 --- a/src/wayland/meta-window-wayland.c +++ b/src/wayland/meta-window-wayland.c @@ -976,7 +976,10 @@ meta_window_wayland_finish_move_resize (MetaWindow *window, if (rect.width != window->rect.width || rect.height != window->rect.height) flags |= META_MOVE_RESIZE_RESIZE_ACTION; - gravity = meta_resize_gravity_from_grab_op (window->display->grab_op); + if (window->display->grab_window == window) + gravity = meta_resize_gravity_from_grab_op (window->display->grab_op); + else + gravity = META_GRAVITY_STATIC; meta_window_move_resize_internal (window, flags, gravity, rect); g_clear_pointer (&acked_configuration, meta_wayland_window_configuration_free);