AutomationLine::drag_motion () returns any clamped fractions correctly.
authornick_m <mainsbridge@gmail.com>
Tue, 27 Oct 2015 16:14:10 +0000 (03:14 +1100)
committernick_m <mainsbridge@gmail.com>
Tue, 27 Oct 2015 16:14:10 +0000 (03:14 +1100)
gtk2_ardour/automation_line.cc

index edefa38ac03ade19df781b801d634a1ca1af8715..b14dac6b35f1a61a5b3cc5d2fea169b454f7d72b 100644 (file)
@@ -729,13 +729,13 @@ AutomationLine::drag_motion (double const x, float fraction, bool ignore_x, bool
                        line->set_steps (line_points, is_stepped());
                }
        }
-
+       double const result_frac = _last_drag_fraction + dy;
        _drag_distance += dx;
        _drag_x += dx;
-       _last_drag_fraction = fraction;
+       _last_drag_fraction = result_frac;
        did_push = with_push;
 
-       return pair<double, float> (_drag_x + dx, fraction);
+       return pair<double, float> (_drag_x + dx, result_frac);
 }
 
 /** Should be called to indicate the end of a drag */