window: Include STATE_CHANGED flag when tiling

For size change animations, plugins rely on the size change effect being
followed by size changed signal (or effects being kill altogether).
However unless the move_resize operation included the STATE_CHANGED flag,
the size changed event emitted when the compositor syncs the window
geometry only happens when the operation resulted in an actual change.

To avoid animations getting stuck in that case, make sure to include the
flag when tiling a window.

https://bugzilla.gnome.org/show_bug.cgi?id=783293
This commit is contained in:
Florian Müllner 2017-06-03 15:48:20 +02:00
parent b4120a75e0
commit 4d7329a7e2

View File

@ -2911,7 +2911,12 @@ meta_window_tile (MetaWindow *window)
META_SIZE_CHANGE_MAXIMIZE, META_SIZE_CHANGE_MAXIMIZE,
&old_frame_rect, &old_buffer_rect); &old_frame_rect, &old_buffer_rect);
meta_window_move_resize_now (window); meta_window_move_resize_internal (window,
(META_MOVE_RESIZE_MOVE_ACTION |
META_MOVE_RESIZE_RESIZE_ACTION |
META_MOVE_RESIZE_STATE_CHANGED),
NorthWestGravity,
window->unconstrained_rect);
if (window->frame) if (window->frame)
meta_frame_queue_draw (window->frame); meta_frame_queue_draw (window->frame);