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
This commit is contained in:
parent
aa638f4d48
commit
db7967327a
1 changed files with 3 additions and 3 deletions
|
@ -951,9 +951,6 @@ meta_window_wayland_finish_move_resize (MetaWindow *window,
|
||||||
|
|
||||||
rect.x += dx;
|
rect.x += dx;
|
||||||
rect.y += dy;
|
rect.y += dy;
|
||||||
|
|
||||||
if (rect.x != window->rect.x || rect.y != window->rect.y)
|
|
||||||
flags |= META_MOVE_RESIZE_MOVE_ACTION;
|
|
||||||
}
|
}
|
||||||
else
|
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)
|
if (wl_window->has_pending_state_change && acked_configuration)
|
||||||
{
|
{
|
||||||
flags |= META_MOVE_RESIZE_WAYLAND_STATE_CHANGED;
|
flags |= META_MOVE_RESIZE_WAYLAND_STATE_CHANGED;
|
||||||
|
|
Loading…
Reference in a new issue