mirror of
https://github.com/brl/mutter.git
synced 2024-11-25 09:30:45 -05:00
Initialize window->user_rect in the initial placement
The window positioning is delayed in idle_move_resize() in case the application resizes/maximizes its window quickly after its creation. The delayed positioning uses window->user_rect because of bug 426519 comment 3 (see meta_window_move_resize_now()). user_rect was not set in the initial positioning, causing the delayed positioning unable to know which monitor we use for this window. As a consequence, the window could jump spontaneously from one monitor to another. With this patch, the window does not jump anymore. https://bugzilla.gnome.org/show_bug.cgi?id=556696
This commit is contained in:
parent
01507d975d
commit
844ad6f4d4
@ -564,6 +564,11 @@ place_window_if_needed(MetaWindow *window,
|
|||||||
.083 * info->work_area_monitor.height;
|
.083 * info->work_area_monitor.height;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* idle_move_resize() uses the user_rect, so make sure it uses the
|
||||||
|
* placed coordinates (bug #556696).
|
||||||
|
*/
|
||||||
|
window->user_rect = info->current;
|
||||||
|
|
||||||
if (window->maximize_horizontally_after_placement ||
|
if (window->maximize_horizontally_after_placement ||
|
||||||
window->maximize_vertically_after_placement)
|
window->maximize_vertically_after_placement)
|
||||||
meta_window_maximize_internal (window,
|
meta_window_maximize_internal (window,
|
||||||
|
Loading…
Reference in New Issue
Block a user