diff --git a/gtk2_ardour/triggerbox_ui.cc b/gtk2_ardour/triggerbox_ui.cc index e6ce937da1..4abdbf86a8 100644 --- a/gtk2_ardour/triggerbox_ui.cc +++ b/gtk2_ardour/triggerbox_ui.cc @@ -988,6 +988,19 @@ TriggerBoxUI::drag_data_received (Glib::RefPtr const& context, return; } + if (data.get_target () == "x-ardour/trigger.pbdid") { + PBD::ID tid (data.get_data_as_string ()); + boost::shared_ptr source = _triggerbox.session().trigger_by_id (tid); + if (source) { + _triggerbox.enqueue_trigger_source(tid); + _triggerbox.set_from_selection (n, source->region()); + context->drag_finish (true, false, time); + } else { + context->drag_finish (false, false, time); + } + return; + } + std::vector paths; if (ARDOUR_UI_UTILS::convert_drop_to_paths (paths, data)) { for (std::vector::iterator s = paths.begin (); s != paths.end (); ++s) {