summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrey Zabolotnyi <zapparello@ya.ru>2018-01-12 02:26:12 +0300
committerPeter Hutterer <peter.hutterer@who-t.net>2018-05-29 10:00:26 +1000
commit2fb95783e04eaf74fa8d051abd94341622a7e01e (patch)
treebee6d525a393cc7b046e5f9661f4fac624e415d3
parent456f23cbbd95eacc682284ffdede54f9a16d0c7d (diff)
downloadxorg-driver-xf86-input-evdev-2fb95783e04eaf74fa8d051abd94341622a7e01e.tar.gz
Fix generation of proximity-in/out events.
Invoking xf86PostProximityEvent with no valuators does nothing, so we have to provide a valid valuator set to the call. https://bugs.freedesktop.org/show_bug.cgi?id=104562 [whot: slight change from 104562 abs_vals is reset on every frame but old_vals is kept around to remember the last value of the valuator (and is updated to the current values before processing the frame). We expect the prox in to have x/y, so let's just unconditionally use old_vals for proximity events.] Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-rw-r--r--src/evdev.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/evdev.c b/src/evdev.c
index d07ee0a..6b5eadd 100644
--- a/src/evdev.c
+++ b/src/evdev.c
@@ -915,7 +915,7 @@ EvdevPostProximityEvents(InputInfoPtr pInfo, int which)
break;
case EV_QUEUE_PROXIMITY:
if (pEvdev->queue[i].val == which)
- xf86PostProximityEvent(pInfo->dev, which, 0, 0);
+ xf86PostProximityEventM(pInfo->dev, which, pEvdev->old_vals);
break;
}
}