From f5b2febf133fc559b406b406f6ac84fd8ca77b54 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Mon, 29 Jul 2013 08:46:37 -0400 Subject: [PATCH] authPrompt: cancel user verification if verifying when reset authPrompt.reset() currently only leaves the authPrompt in a sane state if the user isn't verifying. This commit makes sure to cancel verification if a reset happens while verification is in process. https://bugzilla.gnome.org/show_bug.cgi?id=683437 --- js/gdm/authPrompt.js | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/js/gdm/authPrompt.js b/js/gdm/authPrompt.js index b84e949eb..253582e66 100644 --- a/js/gdm/authPrompt.js +++ b/js/gdm/authPrompt.js @@ -233,8 +233,10 @@ const AuthPrompt = new Lang.Class({ }, _onReset: function() { - if (this.verificationStatus != AuthPromptStatus.VERIFICATION_SUCCEEDED) + if (this.verificationStatus != AuthPromptStatus.VERIFICATION_SUCCEEDED) { + this.verificationStatus = AuthPromptStatus.NOT_VERIFYING; this.reset(); + } }, _onShowLoginHint: function(verifier, message) { @@ -413,7 +415,12 @@ const AuthPrompt = new Lang.Class({ }, reset: function() { + let oldStatus = this.verificationStatus; this.verificationStatus = AuthPromptStatus.NOT_VERIFYING; + + if (oldStatus == AuthPromptStatus.VERIFYING) + this._userVerifier.cancel(); + this._queryingService = null; this.clear(); this._message.opacity = 0; @@ -460,9 +467,6 @@ const AuthPrompt = new Lang.Class({ }, cancel: function() { - if (this.verificationStatus == AuthPromptStatus.VERIFYING) - this._userVerifier.cancel(); - this.reset(); } });