mirror of
https://github.com/brl/mutter.git
synced 2024-11-30 20:01:00 -05:00
window: Queue resize if window is maximized on wayland
When multiple configure requests sent to the wayland client within a sort period, maximized windows may end up in wrong position and cover struts. To avoid this, queue a resize when the resize event sent by the wayland client results a changed size or position to ensure that the final size and position will be always right. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3601>
This commit is contained in:
parent
d434518303
commit
35335e65af
@ -3928,6 +3928,14 @@ meta_window_move_resize_internal (MetaWindow *window,
|
|||||||
|
|
||||||
if (flags & META_MOVE_RESIZE_WAYLAND_CLIENT_RESIZE)
|
if (flags & META_MOVE_RESIZE_WAYLAND_CLIENT_RESIZE)
|
||||||
meta_window_queue (window, META_QUEUE_MOVE_RESIZE);
|
meta_window_queue (window, META_QUEUE_MOVE_RESIZE);
|
||||||
|
|
||||||
|
/* This is a workaround for #1627. We still don't have any tests that can
|
||||||
|
* reproduce this issue reliably and this is not a proper fix! */
|
||||||
|
if (flags & META_MOVE_RESIZE_WAYLAND_FINISH_MOVE_RESIZE &&
|
||||||
|
(result & META_MOVE_RESIZE_RESULT_MOVED ||
|
||||||
|
result & META_MOVE_RESIZE_RESULT_RESIZED) &&
|
||||||
|
(window->maximized_horizontally || window->maximized_vertically))
|
||||||
|
meta_window_queue (window, META_QUEUE_MOVE_RESIZE);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user