summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2011-11-07 13:55:23 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2011-11-07 13:55:23 +1000
commitd8a03efa330b5d24d7a523704bebe5eab6305510 (patch)
tree3d5ebced96946970b8cbc88f4a8d897b51bab018
parent10d42e084a94b0fe467dc04901de8dc9c455ecfd (diff)
Accept touch events on blackbar on touchend.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-rw-r--r--multitouch.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/multitouch.c b/multitouch.c
index 4a3d8e0..b199d2d 100644
--- a/multitouch.c
+++ b/multitouch.c
@@ -236,6 +236,8 @@ static void print_event(struct multitouch *mt, XIDeviceEvent* event)
msg("\t%.2f/%.2f (%.2f/%.2f)\n", event->event_x, event->event_y, event->root_x, event->root_y);
msg("\ttouchid: %d\n", event->detail);
msg("\ton %s\n", event->event == mt->win ? "window" : "blackbar");
+ if (event->flags & XITouchPendingEnd)
+ msg("\tflags: pending end\n");
}
static void paint_touch_begin(struct multitouch *mt, XIDeviceEvent *event)
@@ -392,8 +394,13 @@ static void handle_grabbed_event(struct multitouch *mt, XIDeviceEvent *event)
switch (event->evtype)
{
- case XI_TouchEnd: grab->state = TSTATE_END; break;
- case XI_TouchUpdate: grab->state = TSTATE_UPDATE; break;
+ case XI_TouchEnd:
+ grab->state = TSTATE_END;
+ XIAllowTouchEvents(mt->dpy, event->deviceid, event->detail, event->event, XIAcceptTouch);
+ break;
+ case XI_TouchUpdate:
+ grab->state = TSTATE_UPDATE;
+ break;
}
}