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:
parent
1d60c4d9d4
commit
8e75d81a44
@ -1315,6 +1315,15 @@ var AppFolderPopup = class AppFolderPopup {
|
|||||||
});
|
});
|
||||||
this._grabHelper.addActor(Main.layoutManager.overviewGroup);
|
this._grabHelper.addActor(Main.layoutManager.overviewGroup);
|
||||||
this.actor.connect('key-press-event', this._onKeyPress.bind(this));
|
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) {
|
_onKeyPress(actor, event) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user