summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_drag.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2015-03-25 12:11:49 +0100
committerRobin Gareus <robin@gareus.org>2015-03-25 12:11:49 +0100
commit6cfb6ef6657c80e2ff5f3f9912d90713fa3e65e8 (patch)
tree0aeb8a0cbe4b1dc71166df4268b6471235e89eb8 /gtk2_ardour/editor_drag.cc
parentb34f26a7d05877bfaf939b05dfce42489a158fa5 (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.cc7
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);