Fix crash when dragging something from another task over the editor window.
git-svn-id: svn://localhost/ardour2/branches/3.0@7107 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
20724294c2
commit
50615cd17c
|
@ -69,6 +69,7 @@ bool
|
|||
DnDTreeViewBase::on_drag_drop(const Glib::RefPtr<Gdk::DragContext>& context, int x, int y, guint time)
|
||||
{
|
||||
suggested_action = Gdk::DragAction (0);
|
||||
drag_data.source = 0;
|
||||
return TreeView::on_drag_drop (context, x, y, time);
|
||||
}
|
||||
|
||||
|
|
|
@ -70,6 +70,8 @@ class DnDTreeViewBase : public Gtk::TreeView
|
|||
std::string object_type;
|
||||
|
||||
struct DragData {
|
||||
DragData () : source (0) {}
|
||||
|
||||
Gtk::TreeView* source;
|
||||
int data_column;
|
||||
std::string object_type;
|
||||
|
@ -134,11 +136,16 @@ class DnDTreeView : public DnDTreeViewBase
|
|||
}
|
||||
|
||||
/**
|
||||
* this can be called by the Treeview itself or by some other
|
||||
* This can be called by the Treeview itself or by some other
|
||||
* object that wants to get the list of dragged items.
|
||||
*/
|
||||
|
||||
void get_object_drag_data (std::list<DataType>& l, Gtk::TreeView** source) {
|
||||
|
||||
if (drag_data.source == 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
Glib::RefPtr<Gtk::TreeModel> model = drag_data.source->get_model();
|
||||
DataType v;
|
||||
Gtk::TreeSelection::ListHandle_Path selection = drag_data.source->get_selection()->get_selected_rows ();
|
||||
|
|
Loading…
Reference in New Issue
Block a user