Index: ash/root_window_controller.cc |
diff --git a/ash/root_window_controller.cc b/ash/root_window_controller.cc |
index ef046bdf8b443d19c3bf49e57a0d1809940143d4..f2abcc5b679162339b00576c5fc5d804bded6f3f 100644 |
--- a/ash/root_window_controller.cc |
+++ b/ash/root_window_controller.cc |
@@ -74,9 +74,7 @@ void MoveAllWindows(aura::RootWindow* src, |
continue; |
// Update the restore bounds to make it relative to the display. |
- gfx::Rect restore_bounds; |
- if (internal::DisplayController::IsVirtualScreenCoordinatesEnabled()) |
- restore_bounds = GetRestoreBoundsInParent(window); |
+ gfx::Rect restore_bounds(GetRestoreBoundsInParent(window)); |
dst_container->AddChild(window); |
if (!restore_bounds.IsEmpty()) |
SetRestoreBoundsInParent(window, restore_bounds); |
@@ -240,6 +238,11 @@ RootWindowController::RootWindowController(aura::RootWindow* root_window) |
} |
RootWindowController::~RootWindowController() { |
+ if (Shell::GetActiveRootWindow() == root_window_.get()) { |
+ Shell::GetInstance()->set_active_root_window( |
+ Shell::GetPrimaryRootWindow() == root_window_.get() ? |
+ NULL : Shell::GetPrimaryRootWindow()); |
+ } |
SetRootWindowController(root_window_.get(), NULL); |
event_client_.reset(); |
screen_dimmer_.reset(); |