summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authoravayvod@chromium.org <avayvod@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-27 17:56:19 +0000
committeravayvod@chromium.org <avayvod@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-27 17:56:19 +0000
commit5b3df18415dfb4d02be4541be7127932018a90a0 (patch)
treef26ceed50701361135bdd59588dc31d5d48f77e3 /chrome
parent27096aed544141ccf34e23b8b0d3f17bb67dd255 (diff)
downloadchromium_src-5b3df18415dfb4d02be4541be7127932018a90a0.zip
chromium_src-5b3df18415dfb4d02be4541be7127932018a90a0.tar.gz
chromium_src-5b3df18415dfb4d02be4541be7127932018a90a0.tar.bz2
Updating user count before unmapping user pod windows.
BUG=chromiumos:5892 TEST=Login with one user. Log out. Remove user. Login again. Image screen should show up and work as expected. Review URL: http://codereview.chromium.org/3437026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60674 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r--chrome/browser/chromeos/login/existing_user_controller.cc8
1 files changed, 6 insertions, 2 deletions
diff --git a/chrome/browser/chromeos/login/existing_user_controller.cc b/chrome/browser/chromeos/login/existing_user_controller.cc
index f3235a5..c45e30d 100644
--- a/chrome/browser/chromeos/login/existing_user_controller.cc
+++ b/chrome/browser/chromeos/login/existing_user_controller.cc
@@ -356,14 +356,18 @@ void ExistingUserController::RemoveUser(UserController* source) {
UserManager::Get()->RemoveUser(source->user().email());
- // We need to unmap entry windows, the windows will be unmapped in destructor.
controllers_.erase(controllers_.begin() + source->user_index());
- delete source;
EnableTooltipsIfNeeded(controllers_);
+
+ // Update user count before unmapping windows, otherwise window manager won't
+ // be in the right state.
int new_size = static_cast<int>(controllers_.size());
for (int i = 0; i < new_size; ++i)
controllers_[i]->UpdateUserCount(i, new_size);
+
+ // We need to unmap entry windows, the windows will be unmapped in destructor.
+ delete source;
}
void ExistingUserController::SelectUser(int index) {