Only initialize the number of buttons we actually have.

This takes into account driver-configured button mappings, i.e. if device
with one button has this button mapped to 25 through the ButtonMapping
option, the X server will think the device has result 25 buttons.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
Peter Hutterer
2009-05-21 10:23:37 +10:00
parent aa117d49a5
commit 255b9f6bbf

View File

@@ -1115,9 +1115,7 @@ EvdevAddButtonClass(DeviceIntPtr device)
pInfo = device->public.devicePrivate;
pEvdev = pInfo->private;
/* FIXME: count number of actual buttons */
if (!InitButtonClassDeviceStruct(device, ArrayLength(pEvdev->btnmap),
pEvdev->btnmap))
if (!InitButtonClassDeviceStruct(device, pEvdev->num_buttons, pEvdev->btnmap))
return !Success;
return Success;