diff options
author | Robin Gareus <robin@gareus.org> | 2015-03-25 12:11:49 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2015-03-25 12:11:49 +0100 |
commit | 6cfb6ef6657c80e2ff5f3f9912d90713fa3e65e8 (patch) | |
tree | 0aeb8a0cbe4b1dc71166df4268b6471235e89eb8 /gtk2_ardour/editor_drag.cc | |
parent | b34f26a7d05877bfaf939b05dfce42489a158fa5 (diff) |
fix drop-zone drops
There is no special ‘-1’ indicator any more.
i->time_axis_view is unbound to allow relative
positioning when dragging multiple regions.
Diffstat (limited to 'gtk2_ardour/editor_drag.cc')
-rw-r--r-- | gtk2_ardour/editor_drag.cc | 7 |
1 files 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<Region> r, Rout void RegionInsertDrag::finished (GdkEvent *, bool) { - RouteTimeAxisView* dest_rtv = dynamic_cast<RouteTimeAxisView*> (_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<RouteTimeAxisView*> (_time_axis_views[pos]); _primary->get_canvas_group()->reparent (dest_rtv->view()->canvas_item()); _primary->get_canvas_group()->set_y_position (0); |