Index: ash/wm/workspace/workspace_layout_manager.cc |
diff --git a/ash/wm/workspace/workspace_layout_manager.cc b/ash/wm/workspace/workspace_layout_manager.cc |
index 3e919efa42f02000f9d94bca2cf6d610a457258d..42118878de3675b7f50f968cba444d4245992e1e 100644 |
--- a/ash/wm/workspace/workspace_layout_manager.cc |
+++ b/ash/wm/workspace/workspace_layout_manager.cc |
@@ -106,11 +106,12 @@ void WorkspaceLayoutManager::ShowStateChanged( |
!workspace_manager_->Contains(window)) { |
workspace_manager_->AddWindow(window); |
} |
- } else { |
- workspace_manager_->UpdateShelfVisibility(); |
} |
BaseLayoutManager::ShowStateChanged(window, last_show_state); |
workspace_manager_->ShowStateChanged(window); |
+ // As BaseLayoutManager::ShowStateChanged() may change the visibility of the |
+ // window we need to invoke UpdateShelfVisibility() after ShowStateChanged(). |
+ workspace_manager_->UpdateShelfVisibility(); |
} |
} // namespace internal |