diff options
author | avayvod@chromium.org <avayvod@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-09-27 17:56:19 +0000 |
---|---|---|
committer | avayvod@chromium.org <avayvod@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-09-27 17:56:19 +0000 |
commit | 5b3df18415dfb4d02be4541be7127932018a90a0 (patch) | |
tree | f26ceed50701361135bdd59588dc31d5d48f77e3 /chrome | |
parent | 27096aed544141ccf34e23b8b0d3f17bb67dd255 (diff) | |
download | chromium_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.cc | 8 |
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) { |