chiark / gitweb /
Offsets: In button zone code, cope with negative "pos" values
[xf86-input-mtrack.git] / src / gestures.c
index 22a94ac15e4271da5d57905261cda469bc3ccd3f..b49ca6ea55198c91d017025d0b332cf15f12b661 100644 (file)
@@ -210,10 +210,12 @@ static void buttons_update(struct Gestures* gs,
                }
 
                if (emulate) {
-                       int pos = -1;
+                       int try_zone;
+                       int pos;
 
                        if (cfg->button_zones && earliest >= 0) {
                                pos = ms->touch[earliest].x;
+                               try_zone = 1;
                        }
                        if (cfg->bottom_edge_zones) {
                                int latest_bottom = -1;
@@ -227,11 +229,13 @@ static void buttons_update(struct Gestures* gs,
                                        if (latest_bottom == -1 || timercmp(&ms->touch[i].down, &ms->touch[latest_bottom].down, >))
                                                latest_bottom = i;
                                }
-                               if (latest_bottom >= 0)
+                               if (latest_bottom >= 0) {
                                        pos = ms->touch[latest_bottom].x;
+                                       try_zone = 1;
+                               }
                        }
 
-                       if (pos >= 0) {
+                       if (try_zone) {
                                int zones, left, right;
                                double width;