From 5f452ab77f51f34395be0280c8a87233a26d8cce Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sat, 23 Apr 2016 23:19:21 +0100 Subject: [PATCH] Offsets: In button zone code, cope with negative "pos" values Coordinates might be negative, so we need a separate boolean rather than using -1 as a sentinel. Signed-off-by: Ian Jackson --- src/gestures.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/gestures.c b/src/gestures.c index 22a94ac..b49ca6e 100644 --- a/src/gestures.c +++ b/src/gestures.c @@ -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; -- 2.30.2