Index: chrome/browser/chromeos/login/existing_user_controller.cc |
diff --git a/chrome/browser/chromeos/login/existing_user_controller.cc b/chrome/browser/chromeos/login/existing_user_controller.cc |
index 5b22b410fd7ebff7f5136aa0aac51d21ecd3dc8b..3378e9979d479d658dd8bf65be5201b7e9fa8fef 100644 |
--- a/chrome/browser/chromeos/login/existing_user_controller.cc |
+++ b/chrome/browser/chromeos/login/existing_user_controller.cc |
@@ -722,11 +722,12 @@ void ExistingUserController::OnOnlineChecked(const std::string& username, |
// ExistingUserController, private: |
void ExistingUserController::DeviceSettingsChanged() { |
- if (host_ != NULL) { |
+ // If login was already completed, we should avoid any signin screen |
+ // transitions, see http://crbug.com/461604 for example. |
+ if (host_ != NULL && !login_display_->is_signin_completed()) { |
// Signed settings or user list changed. Notify views and update them. |
UpdateLoginDisplay(user_manager::UserManager::Get()->GetUsers()); |
ConfigurePublicSessionAutoLogin(); |
- return; |
} |
} |