summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPovilas Kanapickas <povilas@radix.lt>2021-02-15 14:52:32 +0200
committerPeter Hutterer <peter.hutterer@who-t.net>2021-02-17 04:29:48 +0000
commitaf17b5c499ded807395c7ef02254d5af8ddc4667 (patch)
tree2d6d563425d6aa217827207252a02954aed9dfc1
parent20c78f38a0b33b88bc82a2bcd54d2e6c74a4c132 (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>
-rw-r--r--dix/events.c7
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)