From 714bc5f10310365f46c06d162e40b3afd715e784 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Fri, 27 Feb 2015 02:09:02 +0100 Subject: [PATCH] dash: Fix leaking signal connections The overview has a longer life-time than dash items, so we are leaking a signal connection each time an item is destroyed. Spotted by Michele () https://bugzilla.gnome.org/show_bug.cgi?id=744575 --- js/ui/dash.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/js/ui/dash.js b/js/ui/dash.js index 146480c30..2f48a7add 100644 --- a/js/ui/dash.js +++ b/js/ui/dash.js @@ -519,10 +519,13 @@ const Dash = new Lang.Class({ this._syncLabel(item, appIcon); })); - Main.overview.connect('hiding', Lang.bind(this, function() { + let id = Main.overview.connect('hiding', Lang.bind(this, function() { this._labelShowing = false; item.hideLabel(); })); + item.child.connect('destroy', function() { + Main.overview.disconnect(id); + }); if (appIcon) { appIcon.connect('sync-tooltip', Lang.bind(this, function() {