From 8e75d81a4417046a595b77218a87d8fbee3a96d1 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Mon, 22 Jul 2019 11:02:10 -0400 Subject: [PATCH] appDisplay: Add AppFolderPopup destroy handler At the moment AppFolderPopup calls popdown on destruction, which leads to open-state-changed getting emitted after the actor associated with the popup is destroyed. This commit handles ungrabbing and closing from an actor destroy handler to side-step the open-state-changed signal. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/628 --- js/ui/appDisplay.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/js/ui/appDisplay.js b/js/ui/appDisplay.js index cd7a23e96..7c2eaf027 100644 --- a/js/ui/appDisplay.js +++ b/js/ui/appDisplay.js @@ -1315,6 +1315,15 @@ var AppFolderPopup = class AppFolderPopup { }); this._grabHelper.addActor(Main.layoutManager.overviewGroup); this.actor.connect('key-press-event', this._onKeyPress.bind(this)); + this.actor.connect('destroy', this._onDestroy.bind(this)); + } + + _onDestroy() { + if (this._isOpen) { + this._isOpen = false; + this._grabHelper.ungrab({ actor: this.actor }); + this._grabHelper = null; + } } _onKeyPress(actor, event) {