diff options
author | nick_m <mainsbridge@gmail.com> | 2017-03-06 01:57:12 +1100 |
---|---|---|
committer | nick_m <mainsbridge@gmail.com> | 2017-03-06 01:57:12 +1100 |
commit | fc47da65114db7dfa9b3e095875afefe501c3d5e (patch) | |
tree | 8f604e4ec2968be18595dfd3d9d5058143c9ad01 /gtk2_ardour/editor_drag.cc | |
parent | a445e8277640b5a59aa46b85599444243d9ddf4d (diff) |
ensure no movement when draggin regions with x constrained.
- should fix 7260
Diffstat (limited to 'gtk2_ardour/editor_drag.cc')
-rw-r--r-- | gtk2_ardour/editor_drag.cc | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/gtk2_ardour/editor_drag.cc b/gtk2_ardour/editor_drag.cc index 0fa7b69bad..dfab9f8990 100644 --- a/gtk2_ardour/editor_drag.cc +++ b/gtk2_ardour/editor_drag.cc @@ -629,6 +629,7 @@ RegionMotionDrag::RegionMotionDrag (Editor* e, ArdourCanvas::Item* i, RegionView , _pdropzone (0) , _ddropzone (0) { + _last_position = MusicFrame (_primary->region()->position(), 0); DEBUG_TRACE (DEBUG::Drags, "New RegionMotionDrag\n"); } @@ -663,6 +664,11 @@ RegionMotionDrag::compute_x_delta (GdkEvent const * event, MusicFrame* pending_r /* compute the amount of pointer motion in frames, and where the region would be if we moved it by that much. */ + if (_x_constrained) { + *pending_region_position = _last_position; + return 0.0; + } + *pending_region_position = adjusted_frame (_drags->current_pointer_frame (), event, false); framecnt_t sync_offset; @@ -1587,7 +1593,7 @@ RegionMoveDrag::finished_no_copy ( PlaylistSet frozen_playlists; set<RouteTimeAxisView*> views_to_update; RouteTimeAxisView* new_time_axis_view = 0; - framecnt_t const drag_delta = _primary->region()->position() - _last_position.frame; + framecnt_t const drag_delta = _primary->region()->position() - last_position.frame; typedef map<boost::shared_ptr<Playlist>, RouteTimeAxisView*> PlaylistMapping; PlaylistMapping playlist_mapping; |