dix: set the correct number of valuators in valuator events.
(first_valuator + num_valuators) must never be larger than the number of axes, otherwise DIX freaks out. And from looking at libXI, anything larger than 6 is wrong too.
This commit is contained in:
parent
d86e7f2ecc
commit
9f6ae61ad1
|
@ -392,7 +392,7 @@ getValuatorEvents(EventList *events, DeviceIntPtr pDev, int first_valuator,
|
||||||
xv = (deviceValuator*)events->event;
|
xv = (deviceValuator*)events->event;
|
||||||
xv->type = DeviceValuator;
|
xv->type = DeviceValuator;
|
||||||
xv->first_valuator = i;
|
xv->first_valuator = i;
|
||||||
xv->num_valuators = num_valuators;
|
xv->num_valuators = ((num_valuators - i) > 6) ? 6 : (num_valuators - i);
|
||||||
xv->deviceid = pDev->id;
|
xv->deviceid = pDev->id;
|
||||||
switch (final_valuator - i) {
|
switch (final_valuator - i) {
|
||||||
case 6:
|
case 6:
|
||||||
|
|
Loading…
Reference in New Issue
Block a user