From 68a1b0de95f71f74835c6c0f002699fcdccbb268 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Mon, 6 Dec 2010 14:58:37 +1000 Subject: [PATCH] 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 Reviewed-by: Daniel Stone Reviewed-by: Dan Nicholson --- hw/xfree86/common/xf86Config.c | 2 +- hw/xfree86/common/xf86Xinput.c | 2 +- hw/xfree86/common/xf86Xinput.h | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/hw/xfree86/common/xf86Config.c b/hw/xfree86/common/xf86Config.c index c352f3c89..ae9592e24 100644 --- a/hw/xfree86/common/xf86Config.c +++ b/hw/xfree86/common/xf86Config.c @@ -1458,7 +1458,7 @@ configInputDevices(XF86ConfLayoutPtr layout, serverLayoutPtr servlayoutp) irp = layout->lay_input_lst; count = 0; while (irp) { - indp[count] = xnfalloc(sizeof(InputInfoRec)); + indp[count] = xf86AllocateInput(); if (!configInput(indp[count], irp->iref_inputdev, X_CONFIG)) { while(count--) free(indp[count]); diff --git a/hw/xfree86/common/xf86Xinput.c b/hw/xfree86/common/xf86Xinput.c index 0fc5e1d6c..c2cf4382c 100644 --- a/hw/xfree86/common/xf86Xinput.c +++ b/hw/xfree86/common/xf86Xinput.c @@ -653,7 +653,7 @@ IgnoreInputClass(const InputInfoPtr idev, const InputAttributes *attrs) return ignore; } -static InputInfoPtr +InputInfoPtr xf86AllocateInput(void) { InputInfoPtr pInfo; diff --git a/hw/xfree86/common/xf86Xinput.h b/hw/xfree86/common/xf86Xinput.h index 3a1711697..1b0b16f04 100644 --- a/hw/xfree86/common/xf86Xinput.h +++ b/hw/xfree86/common/xf86Xinput.h @@ -155,6 +155,7 @@ extern _X_EXPORT void xf86DisableDevice(DeviceIntPtr dev, Bool panic); extern _X_EXPORT void xf86EnableDevice(DeviceIntPtr dev); /* not exported */ int xf86NewInputDevice(InputInfoPtr pInfo, DeviceIntPtr *pdev, BOOL is_auto); +InputInfoPtr xf86AllocateInput(void); /* xf86Helper.c */ extern _X_EXPORT void xf86AddInputDriver(InputDriverPtr driver, pointer module, int flags);