diff options
-rw-r--r-- | libs/gtkmm2ext/gtkmm2ext/dndvbox.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/libs/gtkmm2ext/gtkmm2ext/dndvbox.h b/libs/gtkmm2ext/gtkmm2ext/dndvbox.h index a5e98daf43..aba413b352 100644 --- a/libs/gtkmm2ext/gtkmm2ext/dndvbox.h +++ b/libs/gtkmm2ext/gtkmm2ext/dndvbox.h @@ -87,9 +87,13 @@ public: } /** Add a child at the end of the widget. The DnDVBox will take responsibility for deleting the child */ - void add_child (T* child) + void add_child (T* child, std::list<Gtk::TargetEntry> targets = std::list<Gtk::TargetEntry>()) { - child->action_widget().drag_source_set (_targets); + if (targets.empty ()) { + child->action_widget().drag_source_set (_targets); + } else { + child->action_widget().drag_source_set (targets); + } child->action_widget().signal_drag_begin().connect (sigc::bind (mem_fun (*this, &DnDVBox::drag_begin), child)); child->action_widget().signal_drag_data_get().connect (sigc::bind (mem_fun (*this, &DnDVBox::drag_data_get), child)); child->action_widget().signal_drag_end().connect (sigc::bind (mem_fun (*this, &DnDVBox::drag_end), child)); |