The DeviceEvent's mode field is a set of bits for each valuator, not bytes.
Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> --- dix/eventconvert.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/dix/eventconvert.c b/dix/eventconvert.c index 46eb4ff..b92169e 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)) -- 1.7.3.2 _______________________________________________ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel