[PATCH] wrong num_valuators in dix/getevents.c breaks touchpad

Sascha Hlusiak saschahlusiak at arcor.de
Tue Mar 25 09:14:14 PDT 2008


Hey,

I believe commit 981bb9f1e33e4564d1b59c00c808cc43a2e9497b by Peter sets the 
wrong number of valuators:
xv->num_valuators = ((num_valuators - i) > 6) ? 6 : (num_valuators - i);

It breaks for example when first_valuator is 2 and num_valuators is 1, then 
xv->num_valuators becomes 255 (=-1).

This looks better to me:
xv->num_valuators = ((final_valuator - i) > 6) ? 6 : (final_valuator - i);

With the patch I can finally run my touchpad with the evdev-1.2 driver without 
X crashing with: 
"Bad valuators reported for device AlpsPS/2 ALPS GlidePoint (2 + 255 > 3)"


- Sascha
-------------- next part --------------
A non-text attachment was scrubbed...
Name: getevents.diff
Type: text/x-diff
Size: 615 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg/attachments/20080325/0e51c4bb/attachment.diff>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.x.org/archives/xorg/attachments/20080325/0e51c4bb/attachment.pgp>


More information about the xorg mailing list