[gnome-shell] dash: Fix leaking signal connections



commit 714bc5f10310365f46c06d162e40b3afd715e784
Author: Florian Müllner <fmuellner gnome org>
Date:   Fri Feb 27 02:09:02 2015 +0100

    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 (<micxgx gmail com>)
    
    https://bugzilla.gnome.org/show_bug.cgi?id=744575

 js/ui/dash.js |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)
---
diff --git a/js/ui/dash.js b/js/ui/dash.js
index 146480c..2f48a7a 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() {


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]