From ddd182516208353e3e6969e2e27ac0670436d748 Mon Sep 17 00:00:00 2001 From: Philip Withnall Date: Mon, 21 Jan 2019 18:10:42 +0000 Subject: [PATCH] polkitAgent: Drop close() override in favour of closed signal MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In case there are any internal ways the dialogue can close itself without calling its own close() method, it’s probably better to do all our cleanup on a handler for the `closed` signal instead. This should introduce no functional changes except ensuring the polkitAgent cleanup is always done. Signed-off-by: Philip Withnall https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/357 --- js/ui/components/polkitAgent.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/js/ui/components/polkitAgent.js b/js/ui/components/polkitAgent.js index 4ea4efba4..f03af35fc 100644 --- a/js/ui/components/polkitAgent.js +++ b/js/ui/components/polkitAgent.js @@ -42,6 +42,8 @@ var AuthenticationDialog = new Lang.Class({ this._group.visible = !Main.sessionMode.isLocked; }); + this.connect('closed', this._onDialogClosed.bind(this)); + let icon = new Gio.ThemedIcon({ name: 'dialog-password-symbolic' }); let title = _("Authentication Required"); @@ -176,14 +178,6 @@ var AuthenticationDialog = new Lang.Class({ this._session.initiate(); }, - close(timestamp) { - this.parent(timestamp); - - if (this._sessionUpdatedId) - Main.sessionMode.disconnect(this._sessionUpdatedId); - this._sessionUpdatedId = 0; - }, - _ensureOpen() { // NOTE: ModalDialog.open() is safe to call if the dialog is // already open - it just returns true without side-effects @@ -332,6 +326,12 @@ var AuthenticationDialog = new Lang.Class({ this.close(global.get_current_time()); this._emitDone(true); }, + + _onDialogClosed() { + if (this._sessionUpdatedId) + Main.sessionMode.disconnect(this._sessionUpdatedId); + this._sessionUpdatedId = 0; + }, }); Signals.addSignalMethods(AuthenticationDialog.prototype);