diff --git a/dix/touch.c b/dix/touch.c index a4b6d7eea9..a7ea213ba0 100644 --- a/dix/touch.c +++ b/dix/touch.c @@ -895,8 +895,7 @@ TouchAddActiveGrabListener(DeviceIntPtr dev, TouchPointInfoPtr ti, if (!ti->emulate_pointer && grab->grabtype == XI2 && - (grab->type != XI_TouchBegin && grab->type != XI_TouchEnd && - grab->type != XI_TouchUpdate)) + !xi2mask_isset(grab->xi2mask, dev, XI_TouchBegin)) return; TouchAddGrabListener(dev, ti, ev, grab); diff --git a/include/inputstr.h b/include/inputstr.h index 85be885a08..2da72c1ecf 100644 --- a/include/inputstr.h +++ b/include/inputstr.h @@ -195,7 +195,7 @@ typedef struct _GrabRec { unsigned keyboardMode:1; unsigned pointerMode:1; enum InputLevel grabtype; - CARD8 type; /* event type */ + CARD8 type; /* event type for passive grabs, 0 for active grabs */ DetailRec modifiersDetail; DeviceIntPtr modifierDevice; DetailRec detail; /* key or button */