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
This commit is contained in:
Ray Strode 2019-07-22 11:02:10 -04:00 committed by Ray Strode
parent 1d60c4d9d4
commit 8e75d81a44

View File

@ -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) {