[gnome-shell/wip/appdisplay-leak: 3/8] appDisplay: add AppFolderPopup destroy handler
- From: Ray Strode <halfline src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell/wip/appdisplay-leak: 3/8] appDisplay: add AppFolderPopup destroy handler
- Date: Mon, 22 Jul 2019 17:50:24 +0000 (UTC)
commit 8ad2d3d670d89f86fc80b703ee512b8a1cc9d854
Author: Ray Strode <rstrode redhat com>
Date: Mon Jul 22 11:02:10 2019 -0400
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 6dbbfe38c..02719e89f 100644
--- a/js/ui/appDisplay.js
+++ b/js/ui/appDisplay.js
@@ -1316,6 +1316,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) {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]