13
0

Fix bug 6735, Take into account snap to when stretching regions in Editor

This commit is contained in:
Tim Mayberry 2016-01-21 14:00:54 +10:00
parent ab292183dd
commit f315c0910d

View File

@ -4712,20 +4712,24 @@ TimeFXDrag::motion (GdkEvent* event, bool)
} }
void 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) { if (!movement_occurred) {
return; 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 */ /* backwards drag of the left edge - not usable */
return; 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(); float percentage = (double) newlen / (double) _primary->region()->length();