From 17f9723f488d0470e3879c6b0dfdba61544cdd7b Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Wed, 17 Jun 2009 08:37:44 +1000 Subject: input: bump to ints for deviceids - XI2 requires 16-bit deviceids. Note: ABI break, but ABI_XINPUT_VERSION has NOT been bumped. Recompile input drivers. Revert "Xi: return BadImplementation for deviceids 256 and above" This reverts commit 2b459f44f3edaea137df9a28bc7adfeb1b9f1df7. Signed-off-by: Peter Hutterer --- Xi/xiallowev.c | 6 ------ Xi/xichangecursor.c | 6 ------ Xi/xichangehierarchy.c | 35 ----------------------------------- Xi/xigrabdev.c | 9 --------- Xi/xipassivegrab.c | 9 --------- Xi/xiproperty.c | 26 -------------------------- Xi/xiquerydevice.c | 6 ------ Xi/xiquerypointer.c | 6 ------ Xi/xiselectev.c | 6 ------ Xi/xisetclientpointer.c | 5 ----- Xi/xisetdevfocus.c | 12 ------------ Xi/xiwarppointer.c | 6 ------ dix/devices.c | 4 ++-- include/inputstr.h | 2 +- 14 files changed, 3 insertions(+), 135 deletions(-) diff --git a/Xi/xiallowev.c b/Xi/xiallowev.c index dd52c53c6..3077e1a44 100644 --- a/Xi/xiallowev.c +++ b/Xi/xiallowev.c @@ -65,12 +65,6 @@ ProcXIAllowEvents(ClientPtr client) REQUEST(xXIAllowEventsReq); REQUEST_SIZE_MATCH(xXIAllowEventsReq); - if (stuff->deviceid > 0xFF) /* FIXME */ - { - client->errorValue = stuff->deviceid; - return BadImplementation; - } - ret = dixLookupDevice(&dev, stuff->deviceid, client, DixGetAttrAccess); if (ret != Success) return ret; diff --git a/Xi/xichangecursor.c b/Xi/xichangecursor.c index ee2d65d91..7517d2c2e 100644 --- a/Xi/xichangecursor.c +++ b/Xi/xichangecursor.c @@ -74,12 +74,6 @@ int ProcXIChangeCursor(ClientPtr client) REQUEST(xXIChangeCursorReq); REQUEST_SIZE_MATCH(xXIChangeCursorReq); - if (stuff->deviceid > 0xFF) /* FIXME */ - { - client->errorValue = stuff->deviceid; - return BadImplementation; - } - rc = dixLookupDevice(&pDev, stuff->deviceid, client, DixSetAttrAccess); if (rc != Success) return rc; diff --git a/Xi/xichangehierarchy.c b/Xi/xichangehierarchy.c index 944bb3017..ef6c39468 100644 --- a/Xi/xichangehierarchy.c +++ b/Xi/xichangehierarchy.c @@ -238,12 +238,6 @@ ProcXIChangeHierarchy(ClientPtr client) r->return_mode != XIFloating) return BadValue; - if (r->deviceid > 0xFF) /* FIXME */ - { - client->errorValue = r->deviceid; - return BadImplementation; - } - rc = dixLookupDevice(&ptr, r->deviceid, client, DixDestroyAccess); if (rc != Success) @@ -344,12 +338,6 @@ ProcXIChangeHierarchy(ClientPtr client) newptr, newkeybd; - if (r->return_pointer > 0xFF) /* FIXME */ - { - client->errorValue = r->deviceid; - return BadImplementation; - } - rc = dixLookupDevice(&newptr, r->return_pointer, client, DixWriteAccess); if (rc != Success) @@ -362,12 +350,6 @@ ProcXIChangeHierarchy(ClientPtr client) goto unwind; } - if (r->return_keyboard > 0xFF) /* FIXME */ - { - client->errorValue = r->deviceid; - return BadImplementation; - } - rc = dixLookupDevice(&newkeybd, r->return_keyboard, client, DixWriteAccess); if (rc != Success) @@ -431,12 +413,6 @@ ProcXIChangeHierarchy(ClientPtr client) xXIDetachSlaveInfo* c = (xXIDetachSlaveInfo*)any; DeviceIntPtr *xtstdevice; - if (c->deviceid > 0xFF) /* FIXME */ - { - client->errorValue = c->deviceid; - return BadImplementation; - } - rc = dixLookupDevice(&ptr, c->deviceid, client, DixWriteAccess); if (rc != Success) @@ -470,17 +446,6 @@ ProcXIChangeHierarchy(ClientPtr client) DeviceIntPtr newmaster; DeviceIntPtr *xtstdevice; - if (c->deviceid > 0xFF) /* FIXME */ - { - client->errorValue = c->deviceid; - return BadImplementation; - } - if (c->new_master > 0xFF) /* FIXME */ - { - client->errorValue = c->new_master; - return BadImplementation; - } - rc = dixLookupDevice(&ptr, c->deviceid, client, DixWriteAccess); if (rc != Success) diff --git a/Xi/xigrabdev.c b/Xi/xigrabdev.c index a825a8906..95beb832b 100644 --- a/Xi/xigrabdev.c +++ b/Xi/xigrabdev.c @@ -70,9 +70,6 @@ ProcXIGrabDevice(ClientPtr client) REQUEST(xXIGrabDeviceReq); REQUEST_AT_LEAST_SIZE(xXIGrabDeviceReq); - if (stuff->deviceid > 0xFF) /* FIXME */ - return BadImplementation; - ret = dixLookupDevice(&dev, stuff->deviceid, client, DixGrabAccess); if (ret != Success) return ret; @@ -132,12 +129,6 @@ ProcXIUngrabDevice(ClientPtr client) REQUEST(xXIUngrabDeviceReq); - if (stuff->deviceid > 0xFF) /* FIXME */ - { - client->errorValue = stuff->deviceid; - return BadImplementation; - } - ret = dixLookupDevice(&dev, stuff->deviceid, client, DixGetAttrAccess); if (ret != Success) return ret; diff --git a/Xi/xipassivegrab.c b/Xi/xipassivegrab.c index a5a957038..df0f5bedd 100644 --- a/Xi/xipassivegrab.c +++ b/Xi/xipassivegrab.c @@ -90,9 +90,6 @@ ProcXIPassiveGrabDevice(ClientPtr client) REQUEST(xXIPassiveGrabDeviceReq); REQUEST_AT_LEAST_SIZE(xXIPassiveGrabDeviceReq); - if (stuff->deviceid > 0xFF) /* FIXME */ - return BadImplementation; - if (stuff->deviceid == XIAllDevices) dev = inputInfo.all_devices; else if (stuff->deviceid == XIAllMasterDevices) @@ -263,12 +260,6 @@ ProcXIPassiveUngrabDevice(ClientPtr client) REQUEST(xXIPassiveUngrabDeviceReq); REQUEST_AT_LEAST_SIZE(xXIPassiveUngrabDeviceReq); - if (stuff->deviceid > 0xFF) /* FIXME */ - { - client->errorValue = stuff->deviceid; - return BadImplementation; - } - rc = dixLookupDevice(&dev, stuff->deviceid, client, DixGrabAccess); if (rc != Success) return rc; diff --git a/Xi/xiproperty.c b/Xi/xiproperty.c index dc54d10fe..cd4946026 100644 --- a/Xi/xiproperty.c +++ b/Xi/xiproperty.c @@ -1102,12 +1102,6 @@ ProcXIListProperties(ClientPtr client) REQUEST(xXIListPropertiesReq); REQUEST_SIZE_MATCH(xXIListPropertiesReq); - if (stuff->deviceid > 0xFF) /* FIXME */ - { - client->errorValue = stuff->deviceid; - return BadImplementation; - } - rc = dixLookupDevice (&dev, stuff->deviceid, client, DixReadAccess); if (rc != Success) return rc; @@ -1142,12 +1136,6 @@ ProcXIChangeProperty(ClientPtr client) REQUEST(xXIChangePropertyReq); REQUEST_AT_LEAST_SIZE(xXIChangePropertyReq); - - if (stuff->deviceid > 0xFF) /* FIXME */ - { - client->errorValue = stuff->deviceid; - return BadImplementation; - } UpdateCurrentTime(); rc = dixLookupDevice (&dev, stuff->deviceid, client, DixWriteAccess); @@ -1176,13 +1164,6 @@ ProcXIDeleteProperty(ClientPtr client) REQUEST(xXIDeletePropertyReq); REQUEST_SIZE_MATCH(xXIDeletePropertyReq); - - if (stuff->deviceid > 0xFF) /* FIXME */ - { - client->errorValue = stuff->deviceid; - return BadImplementation; - } - UpdateCurrentTime(); rc = dixLookupDevice (&dev, stuff->deviceid, client, DixWriteAccess); if (rc != Success) @@ -1211,13 +1192,6 @@ ProcXIGetProperty(ClientPtr client) Atom type; REQUEST_SIZE_MATCH(xXIGetPropertyReq); - - if (stuff->deviceid > 0xFF) /* FIXME */ - { - client->errorValue = stuff->deviceid; - return BadImplementation; - } - if (stuff->delete) UpdateCurrentTime(); rc = dixLookupDevice (&dev, stuff->deviceid, client, diff --git a/Xi/xiquerydevice.c b/Xi/xiquerydevice.c index 2e480f5b8..cc5781509 100644 --- a/Xi/xiquerydevice.c +++ b/Xi/xiquerydevice.c @@ -70,12 +70,6 @@ ProcXIQueryDevice(ClientPtr client) REQUEST(xXIQueryDeviceReq); REQUEST_SIZE_MATCH(xXIQueryDeviceReq); - if (stuff->deviceid > 0xFF) /* FIXME */ - { - client->errorValue = stuff->deviceid; - return BadImplementation; - } - if (stuff->deviceid != XIAllDevices && stuff->deviceid != XIAllMasterDevices) { rc = dixLookupDevice(&dev, stuff->deviceid, client, DixGetAttrAccess); diff --git a/Xi/xiquerypointer.c b/Xi/xiquerypointer.c index 1d00b9e6b..e770e84fc 100644 --- a/Xi/xiquerypointer.c +++ b/Xi/xiquerypointer.c @@ -81,12 +81,6 @@ ProcXIQueryPointer(ClientPtr client) REQUEST(xXIQueryPointerReq); REQUEST_SIZE_MATCH(xXIQueryPointerReq); - if (stuff->deviceid > 0xFF) /* FIXME */ - { - client->errorValue = stuff->deviceid; - return BadImplementation; - } - rc = dixLookupDevice(&pDev, stuff->deviceid, client, DixReadAccess); if (rc != Success) return rc; diff --git a/Xi/xiselectev.c b/Xi/xiselectev.c index 7a16e8567..a8763a2a9 100644 --- a/Xi/xiselectev.c +++ b/Xi/xiselectev.c @@ -85,12 +85,6 @@ ProcXISelectEvents(ClientPtr client) num_masks = stuff->num_masks; while(num_masks--) { - if (evmask->deviceid > 0xFF) /* FIXME */ - { - client->errorValue = evmask->deviceid; - return BadImplementation; - } - if (evmask->deviceid != XIAllDevices && evmask->deviceid != XIAllMasterDevices) rc = dixLookupDevice(&dev, evmask->deviceid, client, DixReadAccess); diff --git a/Xi/xisetclientpointer.c b/Xi/xisetclientpointer.c index 264807475..afc13d676 100644 --- a/Xi/xisetclientpointer.c +++ b/Xi/xisetclientpointer.c @@ -71,11 +71,6 @@ ProcXISetClientPointer(ClientPtr client) REQUEST(xXISetClientPointerReq); REQUEST_SIZE_MATCH(xXISetClientPointerReq); - if (stuff->deviceid > 0xFF) /* FIXME */ - { - client->errorValue = stuff->deviceid; - return BadImplementation; - } rc = dixLookupDevice(&pDev, stuff->deviceid, client, DixWriteAccess); if (rc != Success) diff --git a/Xi/xisetdevfocus.c b/Xi/xisetdevfocus.c index cd1f6a622..32f7e597b 100644 --- a/Xi/xisetdevfocus.c +++ b/Xi/xisetdevfocus.c @@ -75,12 +75,6 @@ ProcXISetFocus(ClientPtr client) REQUEST(xXISetFocusReq); REQUEST_AT_LEAST_SIZE(xXISetFocusReq); - if (stuff->deviceid > 0xFF) /* FIXME */ - { - client->errorValue = stuff->deviceid; - return BadImplementation; - } - ret = dixLookupDevice(&dev, stuff->deviceid, client, DixSetFocusAccess); if (ret != Success) return ret; @@ -101,12 +95,6 @@ ProcXIGetFocus(ClientPtr client) REQUEST(xXIGetFocusReq); REQUEST_AT_LEAST_SIZE(xXIGetFocusReq); - if (stuff->deviceid > 0xFF) /* FIXME */ - { - client->errorValue = stuff->deviceid; - return BadImplementation; - } - ret = dixLookupDevice(&dev, stuff->deviceid, client, DixGetFocusAccess); if (ret != Success) return ret; diff --git a/Xi/xiwarppointer.c b/Xi/xiwarppointer.c index f3acfe468..105c87a0d 100644 --- a/Xi/xiwarppointer.c +++ b/Xi/xiwarppointer.c @@ -76,12 +76,6 @@ ProcXIWarpPointer(ClientPtr client) REQUEST(xXIWarpPointerReq); REQUEST_SIZE_MATCH(xXIWarpPointerReq); - if (stuff->deviceid > 0xFF) /* FIXME */ - { - client->errorValue = stuff->deviceid; - return BadImplementation; - } - /* FIXME: panoramix stuff is missing, look at ProcWarpPointer */ rc = dixLookupDevice(&pDev, stuff->deviceid, client, DixWriteAccess); diff --git a/dix/devices.c b/dix/devices.c index 5d4d3b21a..517829a53 100644 --- a/dix/devices.c +++ b/dix/devices.c @@ -1050,11 +1050,11 @@ dixLookupDevice(DeviceIntPtr *pDev, int id, ClientPtr client, Mask access_mode) *pDev = NULL; for (dev=inputInfo.devices; dev; dev=dev->next) { - if (dev->id == (CARD8)id) + if (dev->id == id) goto found; } for (dev=inputInfo.off_devices; dev; dev=dev->next) { - if (dev->id == (CARD8)id) + if (dev->id == id) goto found; } return BadDevice; diff --git a/include/inputstr.h b/include/inputstr.h index 10062ad2e..23c34a5e8 100644 --- a/include/inputstr.h +++ b/include/inputstr.h @@ -489,7 +489,7 @@ typedef struct _DeviceIntRec { int type; /* MASTER_POINTER, MASTER_KEYBOARD, SLAVE */ Atom xinput_type; char *name; - CARD8 id; + int id; KeyClassPtr key; ValuatorClassPtr valuator; ButtonClassPtr button; -- cgit v1.2.3