From 6cfb6ef6657c80e2ff5f3f9912d90713fa3e65e8 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Wed, 25 Mar 2015 12:11:49 +0100 Subject: [PATCH] fix drop-zone drops MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit There is no special ‘-1’ indicator any more. i->time_axis_view is unbound to allow relative positioning when dragging multiple regions. --- gtk2_ardour/editor_drag.cc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gtk2_ardour/editor_drag.cc b/gtk2_ardour/editor_drag.cc index 6675b86316..bd65dd1b55 100644 --- a/gtk2_ardour/editor_drag.cc +++ b/gtk2_ardour/editor_drag.cc @@ -1413,7 +1413,7 @@ RegionMoveDrag::finished_no_copy ( continue; } - if (i->time_axis_view < 0) { + if (i->time_axis_view < 0 || i->time_axis_view >= _time_axis_views.size()) { /* dragged to drop zone */ PlaylistMapping::iterator pm; @@ -1759,7 +1759,10 @@ RegionInsertDrag::RegionInsertDrag (Editor* e, boost::shared_ptr r, Rout void RegionInsertDrag::finished (GdkEvent *, bool) { - RouteTimeAxisView* dest_rtv = dynamic_cast (_time_axis_views[_views.front().time_axis_view]); + int pos = _views.front().time_axis_view; + assert(pos >= 0 && pos < _time_axis_views.size()); + + RouteTimeAxisView* dest_rtv = dynamic_cast (_time_axis_views[pos]); _primary->get_canvas_group()->reparent (dest_rtv->view()->canvas_item()); _primary->get_canvas_group()->set_y_position (0);