From f315c0910da38420c4025e7be79d79f88720b9c0 Mon Sep 17 00:00:00 2001 From: Tim Mayberry Date: Thu, 21 Jan 2016 14:00:54 +1000 Subject: [PATCH] Fix bug 6735, Take into account snap to when stretching regions in Editor --- gtk2_ardour/editor_drag.cc | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/gtk2_ardour/editor_drag.cc b/gtk2_ardour/editor_drag.cc index 12cea263b9..0aac54ebc0 100644 --- a/gtk2_ardour/editor_drag.cc +++ b/gtk2_ardour/editor_drag.cc @@ -4712,20 +4712,24 @@ TimeFXDrag::motion (GdkEvent* event, bool) } void -TimeFXDrag::finished (GdkEvent* /*event*/, bool movement_occurred) +TimeFXDrag::finished (GdkEvent* event, bool movement_occurred) { - _primary->get_time_axis_view().hide_timestretch (); - if (!movement_occurred) { return; } - if (last_pointer_frame() < _primary->region()->position()) { + motion (event, false); + + _primary->get_time_axis_view().hide_timestretch (); + + framepos_t adjusted_frame_pos = adjusted_current_frame (event); + + if (adjusted_frame_pos < _primary->region()->position()) { /* backwards drag of the left edge - not usable */ return; } - framecnt_t newlen = last_pointer_frame() - _primary->region()->position(); + framecnt_t newlen = adjusted_frame_pos - _primary->region()->position(); float percentage = (double) newlen / (double) _primary->region()->length();