diff options
Diffstat (limited to 'dix/touch.c')
-rw-r--r-- | dix/touch.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/dix/touch.c b/dix/touch.c index 5731d9118..9bd07c37c 100644 --- a/dix/touch.c +++ b/dix/touch.c @@ -910,3 +910,29 @@ TouchSetupListeners(DeviceIntPtr dev, TouchPointInfoPtr ti, InternalEvent *ev) return; } } + +/** + * Remove the touch pointer grab from the device. Called from AllowSome() + */ +void +TouchRemovePointerGrab(DeviceIntPtr dev) +{ + TouchPointInfoPtr ti; + GrabPtr grab; + DeviceEvent *ev; + + if (!dev->touch) + return; + + grab = dev->deviceGrab.grab; + if (!grab) + return; + + ev = dev->deviceGrab.sync.event; + if (!IsTouchEvent((InternalEvent*)ev)) + return; + + ti = TouchFindByClientID(dev, ev->touchid); + if (!ti) + return; +} |