From 4f3e670fd28fceec384ff0d4ca7c1ff8d7a872ad Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Tue, 23 Nov 2010 10:59:52 +1000 Subject: [PATCH] dix: when comparing axis modes, compare the bits, not the bytes. The DeviceEvent's mode field is a set of bits for each valuator, not bytes. Signed-off-by: Peter Hutterer Reviewed-by: Jeremy Huddleston --- dix/eventconvert.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dix/eventconvert.c b/dix/eventconvert.c index 46eb4ffd8..b92169ee3 100644 --- a/dix/eventconvert.c +++ b/dix/eventconvert.c @@ -327,7 +327,7 @@ countValuators(DeviceEvent *ev, int *first) /* Assume mode of 0th valuator matches XI1 device mode. Stop when the * event mode changes since XI1 can't handle mixed mode devices. */ - if (ev->valuators.mode[i] != ev->valuators.mode[0]) + if (BitIsOn(ev->valuators.mode, i) != BitIsOn(ev->valuators.mode, 0)) break; if (BitIsOn(ev->valuators.mask, i))