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
@ -338,9 +338,8 @@ class ControlsManager extends St.Widget {
|
||||
this._stateAdjustment = new OverviewAdjustment(this);
|
||||
this._stateAdjustment.connect('notify::value', this._update.bind(this));
|
||||
|
||||
this._nWorkspacesNotifyId =
|
||||
workspaceManager.connect('notify::n-workspaces',
|
||||
this._updateAdjustment.bind(this));
|
||||
workspaceManager.connectObject(
|
||||
'notify::n-workspaces', () => this._updateAdjustment(), this);
|
||||
|
||||
this._searchController = new SearchController.SearchController(
|
||||
this._searchEntry,
|
||||
@ -489,8 +488,6 @@ class ControlsManager extends St.Widget {
|
||||
Shell.ActionMode.NORMAL | Shell.ActionMode.OVERVIEW,
|
||||
() => this._shiftState(Meta.MotionDirection.DOWN));
|
||||
|
||||
this.connect('destroy', this._onDestroy.bind(this));
|
||||
|
||||
this._update();
|
||||
}
|
||||
|
||||
@ -686,10 +683,6 @@ class ControlsManager extends St.Widget {
|
||||
}
|
||||
}
|
||||
|
||||
_onDestroy() {
|
||||
global.workspace_manager.disconnect(this._nWorkspacesNotifyId);
|
||||
}
|
||||
|
||||
_updateAdjustment() {
|
||||
let workspaceManager = global.workspace_manager;
|
||||
let newNumWorkspaces = workspaceManager.n_workspaces;
|
||||
|
Reference in New Issue
Block a user