diff --git a/js/ui/appDisplay.js b/js/ui/appDisplay.js index 8d63a4eec..60e84d73e 100644 --- a/js/ui/appDisplay.js +++ b/js/ui/appDisplay.js @@ -1142,6 +1142,7 @@ var FolderIcon = class FolderIcon { this.view.actor.vscroll.adjustment.value = 0; this._openSpaceForPopup(); }); + this.actor.connect('destroy', this.onDestroy.bind(this)); this.actor.connect('notify::mapped', () => { if (!this.actor.mapped && this._popup) this._popup.popdown(); @@ -1151,6 +1152,13 @@ var FolderIcon = class FolderIcon { this._redisplay(); } + onDestroy() { + this.view.actor.destroy(); + + if (this._popup) + this._popup.actor.destroy(); + } + getAppIds() { return this.view.getAllItems().map(item => item.id); } @@ -1325,7 +1333,6 @@ var AppFolderPopup = class AppFolderPopup { global.focus_manager.add_group(this.actor); - source.actor.connect('destroy', () => this.actor.destroy()); this._grabHelper = new GrabHelper.GrabHelper(this.actor, { actionMode: Shell.ActionMode.POPUP });