overviewControls: Don't hide destroyed child widget on unmap
When we unmap, the child widgets have already been destroyed, so we shouldn't try to. To detect this, delete the references we keep to them on destroy, and null-check the hide call. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2623>
This commit is contained in:
parent
ed2a11ba57
commit
73e0f02b1d
@ -506,6 +506,8 @@ class ControlsManager extends St.Widget {
|
|||||||
() => this._shiftState(Meta.MotionDirection.DOWN));
|
() => this._shiftState(Meta.MotionDirection.DOWN));
|
||||||
|
|
||||||
this._update();
|
this._update();
|
||||||
|
|
||||||
|
this.connect('destroy', this._onDestroy.bind(this));
|
||||||
}
|
}
|
||||||
|
|
||||||
_getFitModeForState(state) {
|
_getFitModeForState(state) {
|
||||||
@ -715,7 +717,16 @@ class ControlsManager extends St.Widget {
|
|||||||
|
|
||||||
vfunc_unmap() {
|
vfunc_unmap() {
|
||||||
super.vfunc_unmap();
|
super.vfunc_unmap();
|
||||||
this._workspacesDisplay.hide();
|
this._workspacesDisplay?.hide();
|
||||||
|
}
|
||||||
|
|
||||||
|
_onDestroy() {
|
||||||
|
delete this._searchEntryBin;
|
||||||
|
delete this._appDisplay;
|
||||||
|
delete this.dash;
|
||||||
|
delete this._searchController;
|
||||||
|
delete this._thumbnailsBox;
|
||||||
|
delete this._workspacesDisplay;
|
||||||
}
|
}
|
||||||
|
|
||||||
prepareToEnterOverview() {
|
prepareToEnterOverview() {
|
||||||
|
Loading…
Reference in New Issue
Block a user