diff options
Diffstat (limited to 'views/widget/root_view_gtk.cc')
-rw-r--r-- | views/widget/root_view_gtk.cc | 16 |
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(); + } +} + } |