summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2015-02-05 17:42:34 -0500
committerPaul Davis <paul@linuxaudiosystems.com>2015-02-05 17:42:46 -0500
commit7ffc06b08dccdb86498c5a48da3158fcaf923e8b (patch)
tree2fdc0f5bf4659248e84f9cdab7882cdd45c7e36c /gtk2_ardour
parentc76523aeaa72672c025943f545f702ceefb56dbc (diff)
fix issue with region dragging while mouse pointer is in rulers/marker lanes
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/editor_drag.cc18
1 files changed, 13 insertions, 5 deletions
diff --git a/gtk2_ardour/editor_drag.cc b/gtk2_ardour/editor_drag.cc
index 1f13c68d74..f34b94e989 100644
--- a/gtk2_ardour/editor_drag.cc
+++ b/gtk2_ardour/editor_drag.cc
@@ -708,6 +708,9 @@ RegionMotionDrag::motion (GdkEvent* event, bool first_move)
for (list<DraggingView>::iterator i = _views.begin(); i != _views.end(); ++i) {
RegionView* rv = i->view;
+ double y_delta;
+
+ y_delta = 0;
if (rv->region()->locked() || rv->region()->video_locked()) {
continue;
@@ -727,7 +730,7 @@ RegionMotionDrag::motion (GdkEvent* event, bool first_move)
/* move the item so that it continues to appear at the
same location now that its parent has changed.
*/
- rvg->move (rv_canvas_offset - dmg_canvas_offset);
+ rvg->move (rv_canvas_offset - dmg_canvas_offset);
}
/* If we have moved tracks, we'll fudge the layer delta so that the
@@ -749,7 +752,7 @@ RegionMotionDrag::motion (GdkEvent* event, bool first_move)
} else {
track_index = _time_axis_views.size() - 1 + delta_time_axis_view;
}
-
+
if (track_index < 0 || track_index >= (int) _time_axis_views.size()) {
continue;
}
@@ -809,10 +812,12 @@ RegionMotionDrag::motion (GdkEvent* event, bool first_move)
* equivalent coordinate space as the trackview
* we are now dragging over.
*/
+
+ y_delta = track_origin.y - rv->get_canvas_group()->canvas_origin().y;
- /* Now move the region view */
- rv->move (x_delta, track_origin.y - rv->get_canvas_group()->canvas_origin().y);
}
+
+
} else {
/* Only move the region into the empty dropzone at the bottom if the pointer
@@ -829,11 +834,14 @@ RegionMotionDrag::motion (GdkEvent* event, bool first_move)
last_track_bottom_edge = 0;
}
- rv->move (x_delta, last_track_bottom_edge - rv->get_canvas_group()->canvas_origin().y);
+ y_delta = last_track_bottom_edge - rv->get_canvas_group()->canvas_origin().y;
i->time_axis_view = -1;
}
}
+ /* Now move the region view */
+ rv->move (x_delta, y_delta);
+
} /* foreach region */
_total_x_delta += x_delta;