| Index: ui/views/widget/widget.cc
|
| diff --git a/ui/views/widget/widget.cc b/ui/views/widget/widget.cc
|
| index 7f649c04025bffe95c5f1ab444279baf94f77572..a24f781df4d3ba81640a64d935d8547ca5bc183d 100644
|
| --- a/ui/views/widget/widget.cc
|
| +++ b/ui/views/widget/widget.cc
|
| @@ -788,7 +788,14 @@ void Widget::RunShellDrag(View* view,
|
| ui::DragDropTypes::DragEventSource source) {
|
| dragged_view_ = view;
|
| OnDragWillStart();
|
| +
|
| + WidgetDeletionObserver widget_deletion_observer(this);
|
| native_widget_->RunShellDrag(view, data, location, operation, source);
|
| +
|
| + // The widget may be destroyed during the drag operation.
|
| + if (!widget_deletion_observer.IsWidgetAlive())
|
| + return;
|
| +
|
| // If the view is removed during the drag operation, dragged_view_ is set to
|
| // NULL.
|
| if (view && dragged_view_ == view) {
|
|
|