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
This commit is contained in:
parent
e1de36398d
commit
dbb39d366e
@ -1916,11 +1916,6 @@ const NMApplet = new Lang.Class({
|
|||||||
wrapper._deviceStateChangedId = wrapper.connect('state-changed', Lang.bind(this, function(dev) {
|
wrapper._deviceStateChangedId = wrapper.connect('state-changed', Lang.bind(this, function(dev) {
|
||||||
this._syncSectionTitle(dev.category);
|
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;
|
let section = this._devices[wrapper.category].section;
|
||||||
section.addMenuItem(wrapper.statusItem);
|
section.addMenuItem(wrapper.statusItem);
|
||||||
@ -1952,6 +1947,8 @@ const NMApplet = new Lang.Class({
|
|||||||
},
|
},
|
||||||
|
|
||||||
_removeDeviceWrapper: function(wrapper) {
|
_removeDeviceWrapper: function(wrapper) {
|
||||||
|
wrapper.disconnect(wrapper._activationFailedId);
|
||||||
|
wrapper.disconnect(wrapper._deviceStateChangedId);
|
||||||
wrapper.destroy();
|
wrapper.destroy();
|
||||||
|
|
||||||
let devices = this._devices[wrapper.category].devices;
|
let devices = this._devices[wrapper.category].devices;
|
||||||
|
Loading…
Reference in New Issue
Block a user