From b66dee80f6e3ca7c459522196d43ad9d00eb19c2 Mon Sep 17 00:00:00 2001 From: Julian Sparber Date: Tue, 19 Dec 2023 11:48:54 +0100 Subject: [PATCH] panel: Ensure signal is disconnected when the panel is destroyed This fixes a warning when terminating GNOME Shell Part-of: --- js/ui/panel.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/js/ui/panel.js b/js/ui/panel.js index 9f4313b54..1041bac8d 100644 --- a/js/ui/panel.js +++ b/js/ui/panel.js @@ -952,12 +952,13 @@ class Panel extends St.Widget { } _onMenuSet(indicator) { - if (!indicator.menu || indicator.menu._openChangedId) + if (!indicator.menu || indicator.menu._openChangedConnected) return; this.menuManager.addMenu(indicator.menu); - indicator.menu._openChangedId = indicator.menu.connect('open-state-changed', + indicator.menu._openChangedConnected = true; + indicator.menu.connectObject('open-state-changed', (menu, isOpen) => { let boxAlignment; if (this._leftBox.contains(indicator.container)) @@ -969,7 +970,7 @@ class Panel extends St.Widget { if (boxAlignment === Main.messageTray.bannerAlignment) Main.messageTray.bannerBlocked = isOpen; - }); + }, this); } _getDraggableWindowForPosition(stageX) {