From ee1a6c28418a6dad6c89f79a994f27bfbaa77368 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Fri, 5 Dec 2008 10:12:57 +1000 Subject: dix: fix calculation of valuator events. Follow-up to 4971315296cb. countValuatorEvents was copied from GKVE where it was obviously broken but nobody noticed. GPE had the correct version, but that one got lost during de-duplication. Restoring the correct calculation - if we have 6 valuators, we want 1 valuator event, not 2. Signed-off-by: Peter Hutterer --- dix/getevents.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dix/getevents.c b/dix/getevents.c index b77ea46e4..19e6fa7cf 100644 --- a/dix/getevents.c +++ b/dix/getevents.c @@ -772,9 +772,9 @@ static int countValuatorEvents(int num_valuators) { if (num_valuators) { - if ((num_valuators / 6) + 1 > MAX_VALUATOR_EVENTS) - num_valuators = MAX_VALUATOR_EVENTS; - return (num_valuators / 6) + 1; + if (((num_valuators - 1) / 6) + 1 > MAX_VALUATOR_EVENTS) + num_valuators = MAX_VALUATOR_EVENTS * 6; + return ((num_valuators - 1)/ 6) + 1; } else return 0; } -- cgit v1.2.3