diff options
author | Povilas Kanapickas <povilas@radix.lt> | 2021-02-15 14:52:32 +0200 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2021-02-17 04:29:48 +0000 |
commit | af17b5c499ded807395c7ef02254d5af8ddc4667 (patch) | |
tree | 2d6d563425d6aa217827207252a02954aed9dfc1 /dix | |
parent | 20c78f38a0b33b88bc82a2bcd54d2e6c74a4c132 (diff) |
dix: Use correct listener to deliver touch end events
This fixes an problem left in f682e0563f736ed2c2c612ed575e05b6e3db945e
due to an incorrect cherry-pick.
We must use old listener->listener to deliver the touch event. Otherwise
grab won't let the event through and the abovementioned commit has no
effect.
Signed-off-by: Povilas Kanapickas <povilas@radix.lt>
Diffstat (limited to 'dix')
-rw-r--r-- | dix/events.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/dix/events.c b/dix/events.c index b05c95c43..20a40ecb2 100644 --- a/dix/events.c +++ b/dix/events.c @@ -1480,10 +1480,6 @@ UpdateTouchesForGrab(DeviceIntPtr mouse) if (ti->active && CLIENT_BITS(listener->listener) == grab->resource) { - listener->listener = grab->resource; - listener->level = grab->grabtype; - listener->window = grab->window; - if (grab->grabtype == CORE || grab->grabtype == XI || !xi2mask_isset(grab->xi2mask, mouse, XI_TouchBegin)) { @@ -1501,6 +1497,9 @@ UpdateTouchesForGrab(DeviceIntPtr mouse) listener->type = TOUCH_LISTENER_GRAB; } + listener->listener = grab->resource; + listener->level = grab->grabtype; + listener->window = grab->window; listener->state = TOUCH_LISTENER_IS_OWNER; if (listener->grab) |