From 047e454a7c218780dd3bdc5284732eb3fe2b42d3 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Sun, 5 Oct 2014 16:27:00 -0400 Subject: [PATCH] gdm: disallow cancel after verification succeeds Once verification has succeeded, the train's already left the building and we shouldn't allow canceling. This commit renders the cancel button non-reactive and makes the cancel function be a noop after verification succeeds. https://bugzilla.gnome.org/show_bug.cgi?id=740141 --- js/gdm/authPrompt.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/js/gdm/authPrompt.js b/js/gdm/authPrompt.js index ca4db89ef..a4d69d949 100644 --- a/js/gdm/authPrompt.js +++ b/js/gdm/authPrompt.js @@ -260,6 +260,7 @@ const AuthPrompt = new Lang.Class({ _onVerificationComplete: function() { this.verificationStatus = AuthPromptStatus.VERIFICATION_SUCCEEDED; + this.cancelButton.reactive = false; }, _onReset: function() { @@ -431,6 +432,7 @@ const AuthPrompt = new Lang.Class({ reset: function() { let oldStatus = this.verificationStatus; this.verificationStatus = AuthPromptStatus.NOT_VERIFYING; + this.cancelButton.reactive = true; if (oldStatus == AuthPromptStatus.VERIFYING) this._userVerifier.cancel(); @@ -499,6 +501,9 @@ const AuthPrompt = new Lang.Class({ }, cancel: function() { + if (this.verificationStatus == AuthPromptStatus.NOT_VERIFYING || this.verificationStatus == AuthPromptStatus.VERIFICATION_SUCCEEDED) { + return; + } this.reset(); this.emit('cancelled'); }