summaryrefslogtreecommitdiffstats
path: root/chrome/browser/chromeos/login/login_utils.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/chromeos/login/login_utils.cc')
-rw-r--r--chrome/browser/chromeos/login/login_utils.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/chrome/browser/chromeos/login/login_utils.cc b/chrome/browser/chromeos/login/login_utils.cc
index 02119a0..4d1bd5f 100644
--- a/chrome/browser/chromeos/login/login_utils.cc
+++ b/chrome/browser/chromeos/login/login_utils.cc
@@ -886,8 +886,11 @@ void LoginUtilsImpl::SetFirstLoginPrefs(PrefService* prefs) {
scoped_refptr<Authenticator> LoginUtilsImpl::CreateAuthenticator(
LoginStatusConsumer* consumer) {
// Screen locker needs new Authenticator instance each time.
- if (ScreenLocker::default_screen_locker())
+ if (ScreenLocker::default_screen_locker()) {
+ if (authenticator_)
+ authenticator_->ResetConsumer();
authenticator_ = NULL;
+ }
if (authenticator_ == NULL)
authenticator_ = new ParallelAuthenticator(consumer);