layout: Initialize regions unconditionally

We currently initialize regions in all code paths except for the
greeter. But while there are no windows on the login screen, the
work area can still be used for positioning, for example for
notifications.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2546>
(cherry picked from commit 990cdbd134)
This commit is contained in:
Florian Müllner 2022-11-17 15:21:42 +01:00
parent 47eae40707
commit c9752944b9

View file

@ -694,18 +694,17 @@ var LayoutManager = GObject.registerClass({
});
this.addChrome(this._coverPane);
// Force an update of the regions before we scale the UI group to
// get the correct allocation for the struts.
// Do this even when we don't animate on restart, so that maximized
// windows restore to the right size.
this._updateRegions();
if (Meta.is_restart()) {
// On restart, we don't do an animation. Force an update of the
// regions immediately so that maximized windows restore to the
// right size taking struts into account.
this._updateRegions();
// On restart, we don't do an animation.
} else if (Main.sessionMode.isGreeter) {
this.panelBox.translation_y = -this.panelBox.height;
} else {
// We need to force an update of the regions now before we scale
// the UI group to get the correct allocation for the struts.
this._updateRegions();
this.keyboardBox.hide();
let monitor = this.primaryMonitor;