From a6c379f5ede72f5bf76f243d5f5e9188ba1864f7 Mon Sep 17 00:00:00 2001 From: Giovanni Campagna Date: Sat, 3 Dec 2011 14:05:41 +0100 Subject: [PATCH] alternative-status-menu: disconnect signals for IMStatusChooserItem In master shell, calling destroy does this automatically, but the patch was not backported, so we need to hack around this here. --- extensions/alternative-status-menu/extension.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/extensions/alternative-status-menu/extension.js b/extensions/alternative-status-menu/extension.js index 404e47d3..9b04ea68 100644 --- a/extensions/alternative-status-menu/extension.js +++ b/extensions/alternative-status-menu/extension.js @@ -124,7 +124,14 @@ function enable() { function disable() { // not guarranteed to work, if more extensions operate in the same place let statusMenu = Main.panel._statusArea.userMenu; + + // HACK! disconnect signals to avoid references to destroyed objects + let imstatusitem = statusMenu.menu._getMenuItems()[0]; + imstatusitem._user.disconnect(imstatusitem._userLoadedId); + imstatusitem._user.disconnect(imstatusitem._userChangedId); + statusMenu.menu.removeAll(); + statusMenu._createSubMenu(); reset(statusMenu); }