js: Use (dis)connectObject()
Start using the new methods to simplify signal cleanup. For now, focus on replacing existing cleanups; in most cases this means signals connected in the constructor and disconnected on destroy, but also other cases with a similarly defined lifetime (say: from show to hide). This doesn't change signal connections that only exist for a short time (say: once), handlers that are connected on-demand (say: the first time a particular method is called), or connections that aren't tracked (read: disconnected) at all. We will eventually replace the latter with connectObject() as well - especially from actor subclasses - but the changeset is already big enough as-is :-) Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1953>
This commit is contained in:

committed by
Marge Bot

parent
f45ccc9143
commit
26235bbe54
@ -71,7 +71,8 @@ var Client = class {
|
||||
log(`error creating bolt proxy: ${e.message}`);
|
||||
return;
|
||||
}
|
||||
this._propsChangedId = this._proxy.connect('g-properties-changed', this._onPropertiesChanged.bind(this));
|
||||
this._proxy.connectObject('g-properties-changed',
|
||||
this._onPropertiesChanged.bind(this), this);
|
||||
this._deviceAddedId = this._proxy.connectSignal('DeviceAdded', this._onDeviceAdded.bind(this));
|
||||
|
||||
this.probing = this._proxy.Probing;
|
||||
@ -102,7 +103,7 @@ var Client = class {
|
||||
return;
|
||||
|
||||
this._proxy.disconnectSignal(this._deviceAddedId);
|
||||
this._proxy.disconnect(this._propsChangedId);
|
||||
this._proxy.disconnectObject(this);
|
||||
this._proxy = null;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user