From ee41dfdb8c02bd808b458e093d426e772810f29c Mon Sep 17 00:00:00 2001 From: Robert Mader Date: Sat, 8 Jan 2022 14:44:23 +0100 Subject: [PATCH] ControlsManager: Propagate unmap before hiding the WorkspacesDisplay Hiding the `WorkspacesDisplay` triggers a reallocation of the `ControlsManagerLayout` which can fail with the following error: ``` JS ERROR: TypeError: workspace is undefined _getSpacing@resource:///org/gnome/shell/ui/workspacesView.js:229:13 vfunc_allocate@resource:///org/gnome/shell/ui/workspacesView.js:355:18 vfunc_allocate@resource:///org/gnome/shell/ui/overviewControls.js:200:33 vfunc_hide@resource:///org/gnome/shell/ui/workspacesView.js:1070:38 vfunc_unmap@resource:///org/gnome/shell/ui/overviewControls.js:672:33 hideOverview@resource:///org/gnome/shell/ui/layout.js:312:28 _hideDone@resource:///org/gnome/shell/ui/overview.js:617:32 onComplete@resource:///org/gnome/shell/ui/overview.js:390:37 _makeEaseCallback/<@resource:///org/gnome/shell/ui/environment.js:134:13 _easeActorProperty/<@resource:///org/gnome/shell/ui/environment.js:298:60 ``` This can be reproduced by closing the overview with the three-finger gesture. Thus propagate the unmap before hiding the `WorkspacesDisplay`. Part-of: --- js/ui/overviewControls.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js/ui/overviewControls.js b/js/ui/overviewControls.js index 6cbaa22ba..7a77b3250 100644 --- a/js/ui/overviewControls.js +++ b/js/ui/overviewControls.js @@ -669,8 +669,8 @@ class ControlsManager extends St.Widget { } vfunc_unmap() { - this._workspacesDisplay.hide(); super.vfunc_unmap(); + this._workspacesDisplay.hide(); } animateToOverview(state, callback) {