summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2008-03-24 14:13:33 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2008-03-24 14:13:33 +0000
commitad0fded50d9995090a5773c7a894372deba703a1 (patch)
tree4aff68c0d1c8211b2ead966f24520bd863367252
parent9e8c6830fd50f1adf58c95053a04249c7ca8bfb6 (diff)
fix specific copy-drag ops
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@3173 d708f5d6-7413-0410-9779-e7cbd77b26cf
-rw-r--r--gtk2_ardour/editor_mouse.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/gtk2_ardour/editor_mouse.cc b/gtk2_ardour/editor_mouse.cc
index fdbc8dd596..b43280690a 100644
--- a/gtk2_ardour/editor_mouse.cc
+++ b/gtk2_ardour/editor_mouse.cc
@@ -3401,7 +3401,9 @@ Editor::region_drag_motion_callback (ArdourCanvas::Item* item, GdkEvent* event)
// printf ("3: pending_region_position= %lu %lu\n", pending_region_position, drag_info.last_frame_position );
- bool x_move_allowed = ( drag_info.copy || !drag_info.x_constrained && (Config->get_edit_mode() != Lock)) || ( drag_info.x_constrained && (Config->get_edit_mode() == Lock)) ;
+ bool x_move_allowed = ((drag_info.copy && !drag_info.x_constrained) ||
+ (!drag_info.x_constrained && (Config->get_edit_mode() != Lock)) ||
+ (drag_info.x_constrained && (Config->get_edit_mode() == Lock)));
if ( pending_region_position != drag_info.last_frame_position && x_move_allowed ) {
@@ -3701,7 +3703,7 @@ Editor::region_drag_finished_callback (ArdourCanvas::Item* item, GdkEvent* event
changed_position = (drag_info.last_frame_position != (nframes_t) (rv->region()->position()/speed));
changed_tracks = (dest_tv != &rv->get_time_axis_view());
- if (changed_position) {
+ if (changed_position && !drag_info.x_constrained) {
where = (nframes_t) (unit_to_frame (ix1) * speed);
} else {
where = rv->region()->position();