From 62a098811c4199b57409d851e23fe49f0d6bc404 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Wed, 19 Jan 2022 04:53:37 +0100 Subject: [PATCH] Allow DnDTreeView drag w/o object reference --- libs/gtkmm2ext/gtkmm2ext/dndtreeview.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/libs/gtkmm2ext/gtkmm2ext/dndtreeview.h b/libs/gtkmm2ext/gtkmm2ext/dndtreeview.h index b4f234d316..e7a5cbf762 100644 --- a/libs/gtkmm2ext/gtkmm2ext/dndtreeview.h +++ b/libs/gtkmm2ext/gtkmm2ext/dndtreeview.h @@ -136,13 +136,15 @@ class /*LIBGTKMM2EXT_API*/ DnDTreeView : public DnDTreeViewBase TreeView::on_drag_data_get (context, selection_data, info, time); - } else if (selection_data.get_target() == object_type) { + } else if (selection_data.get_target() == object_type && drag_data.data_column >= 0) { /* return a pointer to this object, which allows * the receiver to call on_drag_data_received() */ void *c = this; selection_data.set (8, (guchar*)&c, sizeof(void*)); + } else { + TreeView::on_drag_data_get (context, selection_data, info, time); } } @@ -178,7 +180,7 @@ class /*LIBGTKMM2EXT_API*/ DnDTreeView : public DnDTreeViewBase void get_object_drag_data (std::list& l, Gtk::TreeView** source) const { - if (drag_data.source == 0) { + if (drag_data.source == 0 || drag_data.data_column < 0) { return; }