@@ -30,6 +30,10 @@ Item {
3030 calc.reset();
3131 }
3232
33+ function calculate() {
34+ stopLateralChanges = Math.abs(calc.calculate()) > velocityThreashold;
35+ }
36+
3337 onTrackedValueChanged: {
3438 calc.trackedPosition = trackedValue;
3539 velocityTimer.start();
@@ -37,18 +41,17 @@ Item {
3741
3842 AxisVelocityCalculator {
3943 id: calc
40− onTrackedPositionChanged: {
41− var velocity = Math.abs(calc.calculate());
42− stopLateralChanges = velocity > velocityThreashold;
43− }
44+ onTrackedPositionChanged: calculate();
4445 }
4546
4647 Timer {
4748 id: velocityTimer
4849 interval: 50
4950 onTriggered: {
51+ var recalculate = calc.trackedPosition == trackedValue;
5052 calc.trackedPosition = trackedValue;
51− root.stopLateralChanges = Math.abs(calc.calculate()) > velocityThreashold;
53+ if (recalculate) calculate();
54+
5255 if (root.stopLateralChanges) {
5356 velocityTimer.start();
5457 } else {