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: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2088>
This commit is contained in:
parent
f3eb01642f
commit
ee41dfdb8c
@ -669,8 +669,8 @@ class ControlsManager extends St.Widget {
|
|||||||
}
|
}
|
||||||
|
|
||||||
vfunc_unmap() {
|
vfunc_unmap() {
|
||||||
this._workspacesDisplay.hide();
|
|
||||||
super.vfunc_unmap();
|
super.vfunc_unmap();
|
||||||
|
this._workspacesDisplay.hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
animateToOverview(state, callback) {
|
animateToOverview(state, callback) {
|
||||||
|
Loading…
Reference in New Issue
Block a user