mirror of
https://github.com/edu4rdshl/gnome-shell.git
synced 2026-07-18 07:34:54 +00:00
workspace: Force creating new layout when there's no allocation yet
Commitba23279f1fwas aimed at fixing a bug where the layout is frozen so early that we don't have an existing one to re-use, because no allocation cycle happened yet. It tried to fix that by forcing the creation of a layout when needsLayout === true, this turned out to be a bit too much, as it also forced creating a new layout when the layout was frozen after closing a window (which would set needsLayout to true). To fix this regression and still avoid reintroducing the bug the previous commit fixed, tighten the check a bit and only force creating the new layout when there's no allocation yet. This makes freezing the layout after closing a window work again. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2236> (cherry picked from commitb17f00cfb1)
This commit is contained in:
parent
e008e7d25c
commit
69f830246d
1 changed files with 3 additions and 2 deletions
|
|
@ -626,7 +626,6 @@ var WorkspaceLayout = GObject.registerClass({
|
|||
const [containerWidth, containerHeight] = containerBox.get_size();
|
||||
const containerAllocationChanged =
|
||||
this._lastBox === null || !this._lastBox.equal(containerBox);
|
||||
this._lastBox = containerBox.copy();
|
||||
|
||||
// If the containers size changed, we can no longer keep around
|
||||
// the old windowSlots, so we must unfreeze the layout.
|
||||
|
|
@ -663,7 +662,7 @@ var WorkspaceLayout = GObject.registerClass({
|
|||
}
|
||||
|
||||
let layoutChanged = false;
|
||||
if (!this._layoutFrozen || this._needsLayout) {
|
||||
if (!this._layoutFrozen || !this._lastBox) {
|
||||
if (this._needsLayout) {
|
||||
this._layout = this._createBestLayout(this._workarea);
|
||||
this._needsLayout = false;
|
||||
|
|
@ -763,6 +762,8 @@ var WorkspaceLayout = GObject.registerClass({
|
|||
child.allocate(childBox);
|
||||
}
|
||||
}
|
||||
|
||||
this._lastBox = containerBox.copy();
|
||||
}
|
||||
|
||||
_syncOverlay(preview) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue