Input: Allow a pointer to a device to be returned in NIDR

Allow a pointer to the first device added to be returned, so we know which
device(s) were added by the NIDR call.
This commit is contained in:
Remigiusz Marcinkiewicz 2007-04-11 00:38:16 +03:00 committed by Daniel Stone
parent 4f05f9591e
commit aecbc71214
4 changed files with 12 additions and 4 deletions

View File

@ -226,7 +226,7 @@ ChangeDeviceControl(ClientPtr client, DeviceIntPtr dev,
*
*/
int
NewInputDeviceRequest(InputOption *options)
NewInputDeviceRequest(InputOption *options, DeviceIntPtr *pdev)
{
return BadValue;
}

View File

@ -2307,7 +2307,7 @@ ChangeDeviceControl(register ClientPtr client, DeviceIntPtr pDev,
}
int
NewInputDeviceRequest(InputOption *options)
NewInputDeviceRequest(InputOption *options, DeviceIntPtr *pdev)
{
InputOption *option = NULL;
KdPointerInfo *pi = NULL;
@ -2372,6 +2372,12 @@ NewInputDeviceRequest(InputOption *options)
}
}
if (pi) {
*pdev = pi->dixdev;
} else if(ki) {
*pdev = ki->dixdev;
}
return Success;
}

View File

@ -315,7 +315,7 @@ AddOtherInputDevices()
#endif
int
NewInputDeviceRequest (InputOption *options)
NewInputDeviceRequest (InputOption *options, DeviceIntPtr *pdev)
{
IDevRec *idev = NULL;
InputDriverPtr drv = NULL;
@ -409,6 +409,7 @@ NewInputDeviceRequest (InputOption *options)
if (dev->inited && dev->startup)
EnableDevice(dev);
*pdev = dev;
return Success;
unwind:

View File

@ -445,7 +445,8 @@ extern DeviceIntPtr LookupDeviceIntRec(
/* Implemented by the DDX. */
extern int NewInputDeviceRequest(
InputOption *options);
InputOption *options,
DeviceIntPtr *dev);
extern void DeleteInputDeviceRequest(
DeviceIntPtr dev);