Index: ui/views/widget/desktop_aura/desktop_drag_drop_client_aurax11.cc |
diff --git a/ui/views/widget/desktop_aura/desktop_drag_drop_client_aurax11.cc b/ui/views/widget/desktop_aura/desktop_drag_drop_client_aurax11.cc |
index 5bad49a3bfda60fb4783aedf8e67fcec32dd3f88..29676c338bc07e08ea4e35456f4a50ad686da1fc 100644 |
--- a/ui/views/widget/desktop_aura/desktop_drag_drop_client_aurax11.cc |
+++ b/ui/views/widget/desktop_aura/desktop_drag_drop_client_aurax11.cc |
@@ -431,11 +431,12 @@ DesktopDragDropClientAuraX11::DesktopDragDropClientAuraX11( |
} |
DesktopDragDropClientAuraX11::~DesktopDragDropClientAuraX11() { |
- g_live_client_map.Get().erase(xwindow_); |
- // Make sure that all observers are unregistered from source and target |
- // windows. This may be necessary when the parent native widget gets destroyed |
- // while a drag operation is in progress. |
+ // This is necessary when the parent native widget gets destroyed while a drag |
+ // operation is in progress. |
+ move_loop_->EndMoveLoop(); |
NotifyDragLeave(); |
+ |
+ g_live_client_map.Get().erase(xwindow_); |
} |
// static |