summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_drag.cc
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2010-08-19 23:56:30 +0000
committerCarl Hetherington <carl@carlh.net>2010-08-19 23:56:30 +0000
commit70597dbc0e6fe7222d51c9d40f59510171c8e2f0 (patch)
tree89170454640135d2ee08ad3ce23744d02a253c72 /gtk2_ardour/editor_drag.cc
parentf4290fc09c9ba03dd2c3d4f8fc6754bab29fa724 (diff)
Fix drag from region list onto track.
git-svn-id: svn://localhost/ardour2/branches/3.0@7656 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/editor_drag.cc')
-rw-r--r--gtk2_ardour/editor_drag.cc8
1 files changed, 5 insertions, 3 deletions
diff --git a/gtk2_ardour/editor_drag.cc b/gtk2_ardour/editor_drag.cc
index 0d8736b5fb..09d43fe300 100644
--- a/gtk2_ardour/editor_drag.cc
+++ b/gtk2_ardour/editor_drag.cc
@@ -543,9 +543,12 @@ RegionMotionDrag::compute_x_delta (GdkEvent const * event, nframes64_t* pending_
/* x movement since last time */
dx = (static_cast<double> (*pending_region_position) - _last_frame_position) / _editor->frames_per_unit;
-
+
/* total x movement */
- framecnt_t total_dx = *pending_region_position - grab_frame () + _pointer_frame_offset;
+ framecnt_t total_dx = *pending_region_position;
+ if (regions_came_from_canvas()) {
+ total_dx = total_dx - grab_frame () + _pointer_frame_offset;
+ }
/* check that no regions have gone off the start of the session */
for (list<DraggingView>::const_iterator i = _views.begin(); i != _views.end(); ++i) {
@@ -774,7 +777,6 @@ RegionMotionDrag::motion (GdkEvent* event, bool first_move)
y_delta = rtv->view()->child_height () * pointer_layer_span;
}
-
if (_brushing) {
_editor->mouse_brush_insert_region (rv, pending_region_position);
} else {