Fix bug 6735, Take into account snap to when stretching regions in Editor
This commit is contained in:
parent
ab292183dd
commit
f315c0910d
@ -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();
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user