Index: ui/views/widget/desktop_aura/desktop_root_window_host_win.cc |
diff --git a/ui/views/widget/desktop_aura/desktop_root_window_host_win.cc b/ui/views/widget/desktop_aura/desktop_root_window_host_win.cc |
index 46f01770605c6fb4d276422309f4e7ff42fea1be..bde131786943a50c26647602e6b2bec8fbd98165 100644 |
--- a/ui/views/widget/desktop_aura/desktop_root_window_host_win.cc |
+++ b/ui/views/widget/desktop_aura/desktop_root_window_host_win.cc |
@@ -88,7 +88,6 @@ DesktopWindowTreeHostWin::DesktopWindowTreeHostWin( |
} |
DesktopWindowTreeHostWin::~DesktopWindowTreeHostWin() { |
- DestroyCompositor(); |
// WARNING: |content_window_| has been destroyed by the time we get here. |
desktop_native_widget_aura_->OnDesktopWindowTreeHostDestroyed( |
root_window_); |
@@ -765,6 +764,10 @@ void DesktopWindowTreeHostWin::HandleCreate() { |
void DesktopWindowTreeHostWin::HandleDestroying() { |
drag_drop_client_->OnNativeWidgetDestroying(GetHWND()); |
native_widget_delegate_->OnNativeWidgetDestroying(); |
+ |
+ // Destroy the compositor before destroying the HWND since shutdown |
+ // may try to swap to the window. |
+ DestroyCompositor(); |
} |
void DesktopWindowTreeHostWin::HandleDestroyed() { |