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
62d85f2e41
commit
e5b46747d6
1 changed files with 5 additions and 0 deletions
|
@ -571,6 +571,11 @@ place_window_if_needed(MetaWindow *window,
|
|||
.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 ||
|
||||
window->maximize_vertically_after_placement)
|
||||
meta_window_maximize_internal (window,
|
||||
|
|
Loading…
Reference in a new issue