[gnome-shell] network: Properly disconnect from the state-changed signal



commit dbb39d366ed6a77271a7ff307ce530d085a8cde2
Author: Jasper St. Pierre <jstpierre mecheye net>
Date:   Fri Apr 26 00:25:14 2013 -0400

    network: Properly disconnect from the state-changed signal
    
    The destroy signal never gets emitted, so we need to properly
    disconnect manually when we destroy the wrapper.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=698918

 js/ui/status/network.js |    7 ++-----
 1 files changed, 2 insertions(+), 5 deletions(-)
---
diff --git a/js/ui/status/network.js b/js/ui/status/network.js
index 534c0ea..f4ff919 100644
--- a/js/ui/status/network.js
+++ b/js/ui/status/network.js
@@ -1916,11 +1916,6 @@ const NMApplet = new Lang.Class({
         wrapper._deviceStateChangedId = wrapper.connect('state-changed', Lang.bind(this, function(dev) {
             this._syncSectionTitle(dev.category);
         }));
-        wrapper._destroyId = wrapper.connect('destroy', function(wrapper) {
-            wrapper.disconnect(wrapper._activationFailedId);
-            wrapper.disconnect(wrapper._deviceStateChangedId);
-            wrapper.disconnect(wrapper._destroyId);
-        });
 
         let section = this._devices[wrapper.category].section;
         section.addMenuItem(wrapper.statusItem);
@@ -1952,6 +1947,8 @@ const NMApplet = new Lang.Class({
     },
 
     _removeDeviceWrapper: function(wrapper) {
+        wrapper.disconnect(wrapper._activationFailedId);
+        wrapper.disconnect(wrapper._deviceStateChangedId);
         wrapper.destroy();
 
         let devices = this._devices[wrapper.category].devices;


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