summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorTim Mayberry <mojofunk@gmail.com>2016-01-21 14:00:54 +1000
committerTim Mayberry <mojofunk@gmail.com>2016-01-21 14:07:49 +1000
commitf315c0910da38420c4025e7be79d79f88720b9c0 (patch)
tree7ccda9b2e5492a5696299a730d994d4fbdb8f917 /gtk2_ardour
parentab292183dd090db6533acd2d761199e1911c31dc (diff)
Fix bug 6735, Take into account snap to when stretching regions in Editor
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/editor_drag.cc14
1 files 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();