summaryrefslogtreecommitdiffstats
path: root/views/widget/root_view_gtk.cc
diff options
context:
space:
mode:
Diffstat (limited to 'views/widget/root_view_gtk.cc')
-rw-r--r--views/widget/root_view_gtk.cc16
1 files changed, 16 insertions, 0 deletions
diff --git a/views/widget/root_view_gtk.cc b/views/widget/root_view_gtk.cc
index 6984429..290203f 100644
--- a/views/widget/root_view_gtk.cc
+++ b/views/widget/root_view_gtk.cc
@@ -36,4 +36,20 @@ void RootView::OnPaint(GdkEventExpose* event) {
}
}
+void RootView::StartDragForViewFromMouseEvent(
+ View* view,
+ const OSExchangeData& data,
+ int operation) {
+ // NOTE: view may be null.
+ drag_view_ = view;
+ static_cast<WidgetGtk*>(GetWidget())->DoDrag(data, operation);
+ // If the view is removed during the drag operation, drag_view_ is set to
+ // NULL.
+ if (view && drag_view_ == view) {
+ View* drag_view = drag_view_;
+ drag_view_ = NULL;
+ drag_view->OnDragDone();
+ }
+}
+
}