xfree86: use xf86AllocateInput() for xorg.conf devices too.
Single allocation point for input devices, most notably a single point to reset default values. Without this patch, the file descriptor default was -1 for hotplugged devices and 0 for config devices. Drivers that don't overwrite the default themselves would thus fail if configured in the xorg.conf. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Daniel Stone <daniel@fooishbar.org> Reviewed-by: Dan Nicholson <dbn.lists@gmail.com>
This commit is contained in:
parent
beea2378f1
commit
68a1b0de95
|
@ -1458,7 +1458,7 @@ configInputDevices(XF86ConfLayoutPtr layout, serverLayoutPtr servlayoutp)
|
||||||
irp = layout->lay_input_lst;
|
irp = layout->lay_input_lst;
|
||||||
count = 0;
|
count = 0;
|
||||||
while (irp) {
|
while (irp) {
|
||||||
indp[count] = xnfalloc(sizeof(InputInfoRec));
|
indp[count] = xf86AllocateInput();
|
||||||
if (!configInput(indp[count], irp->iref_inputdev, X_CONFIG)) {
|
if (!configInput(indp[count], irp->iref_inputdev, X_CONFIG)) {
|
||||||
while(count--)
|
while(count--)
|
||||||
free(indp[count]);
|
free(indp[count]);
|
||||||
|
|
|
@ -653,7 +653,7 @@ IgnoreInputClass(const InputInfoPtr idev, const InputAttributes *attrs)
|
||||||
return ignore;
|
return ignore;
|
||||||
}
|
}
|
||||||
|
|
||||||
static InputInfoPtr
|
InputInfoPtr
|
||||||
xf86AllocateInput(void)
|
xf86AllocateInput(void)
|
||||||
{
|
{
|
||||||
InputInfoPtr pInfo;
|
InputInfoPtr pInfo;
|
||||||
|
|
|
@ -155,6 +155,7 @@ extern _X_EXPORT void xf86DisableDevice(DeviceIntPtr dev, Bool panic);
|
||||||
extern _X_EXPORT void xf86EnableDevice(DeviceIntPtr dev);
|
extern _X_EXPORT void xf86EnableDevice(DeviceIntPtr dev);
|
||||||
/* not exported */
|
/* not exported */
|
||||||
int xf86NewInputDevice(InputInfoPtr pInfo, DeviceIntPtr *pdev, BOOL is_auto);
|
int xf86NewInputDevice(InputInfoPtr pInfo, DeviceIntPtr *pdev, BOOL is_auto);
|
||||||
|
InputInfoPtr xf86AllocateInput(void);
|
||||||
|
|
||||||
/* xf86Helper.c */
|
/* xf86Helper.c */
|
||||||
extern _X_EXPORT void xf86AddInputDriver(InputDriverPtr driver, pointer module, int flags);
|
extern _X_EXPORT void xf86AddInputDriver(InputDriverPtr driver, pointer module, int flags);
|
||||||
|
|
Loading…
Reference in New Issue