summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ash/drag_drop/drag_drop_controller.cc6
1 files changed, 5 insertions, 1 deletions
diff --git a/ash/drag_drop/drag_drop_controller.cc b/ash/drag_drop/drag_drop_controller.cc
index 8cf03fa..51ca88d 100644
--- a/ash/drag_drop/drag_drop_controller.cc
+++ b/ash/drag_drop/drag_drop_controller.cc
@@ -257,7 +257,11 @@ void DragDropController::OnWindowDestroyed(aura::Window* window) {
void DragDropController::OnImplicitAnimationsCompleted() {
DCHECK(drag_image_.get());
- drag_image_.reset();
+
+ // By the time we finish animation, another drag/drop session may have
+ // started. We do not want to destroy the drag image in that case.
+ if (!drag_drop_in_progress_)
+ drag_image_.reset();
}
void DragDropController::StartCanceledAnimation() {