If the velocity is 0, skip the remainder.
If we're not in range, skip the remainder.

No functional change.

Signed-off-by: Peter Hutterer <[email protected]>
---
This incorporates the control flow change that sneaked into 11/20 and
Jamey's suggestion for the DebugAccelF move.

 dix/ptrveloc.c |   23 +++++++++++++----------
 1 files changed, 13 insertions(+), 10 deletions(-)

diff --git a/dix/ptrveloc.c b/dix/ptrveloc.c
index f4548b6..758e204 100644
--- a/dix/ptrveloc.c
+++ b/dix/ptrveloc.c
@@ -628,26 +628,29 @@ QueryTrackers(DeviceVelocityPtr vel, int cur_t){
 
        tracker_velocity = CalcTracker(tracker, cur_t) * velocity_factor;
 
-       if ((initial_velocity == 0 || offset <= vel->initial_range) && 
tracker_velocity != 0) {
+       if (tracker_velocity == 0)
+           continue;
+
+       if (initial_velocity == 0 || offset <= vel->initial_range) {
            /* set initial velocity and result */
            result = initial_velocity = tracker_velocity;
            used_offset = offset;
-       } else if (initial_velocity != 0 && tracker_velocity != 0) {
+       } else if (initial_velocity != 0) {
            velocity_diff = fabs(initial_velocity - tracker_velocity);
-           if (velocity_diff <= vel->max_diff ||
-               velocity_diff/(initial_velocity + tracker_velocity) < 
vel->max_rel_diff) {
-               /* we're in range with the initial velocity,
-                * so this result is likely better
-                * (it contains more information). */
-               result = tracker_velocity;
-               used_offset = offset;
-           }else{
+
+           if (velocity_diff > vel->max_diff &&
+               velocity_diff/(initial_velocity + tracker_velocity) >= 
vel->max_rel_diff) {
                /* we're not in range, quit - it won't get better. */
                DebugAccelF("(dix prtacc) query: tracker too different:"
                            " old %2.2f initial %2.2f diff: %2.2f\n",
                            tracker_velocity, initial_velocity, velocity_diff);
                break;
            }
+           /* we're in range with the initial velocity,
+            * so this result is likely better
+            * (it contains more information). */
+           result = tracker_velocity;
+           used_offset = offset;
        }
     }
     if(offset == vel->num_tracker){
-- 
1.7.4.4

_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to