| Index: ash/root_window_controller.cc
|
| diff --git a/ash/root_window_controller.cc b/ash/root_window_controller.cc
|
| index 2051fc13d3917c19ff467d5654b704bc209f1c0a..0154b0cd9cfaa7692013b4691a0a6895a4ec2965 100644
|
| --- a/ash/root_window_controller.cc
|
| +++ b/ash/root_window_controller.cc
|
| @@ -560,9 +560,6 @@ void RootWindowController::CloseChildWindows() {
|
| docked_layout_manager_->Shutdown();
|
| docked_layout_manager_ = NULL;
|
| }
|
| - aura::Window* root_window = GetRootWindow();
|
| - aura::client::SetDragDropClient(root_window, NULL);
|
| -
|
| wm_shelf_aura_->ShutdownShelfWidget();
|
|
|
| // Close wallpaper widget first as it depends on tooltip.
|
| @@ -570,10 +567,10 @@ void RootWindowController::CloseChildWindows() {
|
| animating_wallpaper_widget_controller_.reset();
|
|
|
| wm_root_window_controller_->DeleteWorkspaceController();
|
| - aura::client::SetTooltipClient(root_window, NULL);
|
|
|
| // Explicitly destroy top level windows. We do this as during part of
|
| // destruction such windows may query the RootWindow for state.
|
| + aura::Window* root_window = GetRootWindow();
|
| aura::WindowTracker non_toplevel_windows;
|
| non_toplevel_windows.Add(root_window);
|
| while (!non_toplevel_windows.windows().empty()) {
|
| @@ -609,6 +606,9 @@ void RootWindowController::CloseChildWindows() {
|
| // Avoid notifying WmShelf that the shelf has been destroyed twice.
|
| if (wm_shelf_aura_->IsShelfInitialized())
|
| wm_shelf_aura_->ShutdownShelf();
|
| +
|
| + aura::client::SetDragDropClient(root_window, nullptr);
|
| + aura::client::SetTooltipClient(root_window, nullptr);
|
| }
|
|
|
| void RootWindowController::MoveWindowsTo(aura::Window* dst) {
|
|
|