summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stone <daniel@fooishbar.org>2008-12-26 18:32:41 +1100
committerDaniel Stone <daniel@fooishbar.org>2009-01-20 15:32:19 +1100
commitd929ba6886c6f121b101c0bf0f7c63ef9d851a3e (patch)
treed7ec292379da2e5b1e01a6b86fa60ae71b178071
parent534669b376a6a703fbc97269d279a5418cf60c98 (diff)
XFree86: Input: Fail NIDR if we can't enable devices
If we can't enable a device, bail out of NewInputDeviceRequest rather than blithely continuing. Also, be more verbose when initialization failed. Also, be more verbose when initialization failed. Also, be more verbose when initialization failed. Also, be more verbose when initialization failed. Signed-off-by: Daniel Stone <daniel@fooishbar.org> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-rw-r--r--hw/xfree86/common/xf86Xinput.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/hw/xfree86/common/xf86Xinput.c b/hw/xfree86/common/xf86Xinput.c
index 413ef036d..d5d06ad05 100644
--- a/hw/xfree86/common/xf86Xinput.c
+++ b/hw/xfree86/common/xf86Xinput.c
@@ -591,12 +591,21 @@ xf86NewInputDevice(IDevPtr idev, DeviceIntPtr *pdev, BOOL enable)
dev = pInfo->dev;
rval = ActivateDevice(dev);
if (rval != Success)
+ {
+ xf86Msg(X_ERROR, "Couldn't init device \"%s\"\n", idev->identifier);
goto unwind;
+ }
/* Enable it if it's properly initialised and we're currently in the VT */
if (enable && dev->inited && dev->startup && xf86Screens[0]->vtSema)
{
EnableDevice(dev);
+ if (!dev->enabled)
+ {
+ xf86Msg(X_ERROR, "Couldn't init device \"%s\"\n", idev->identifier);
+ rval = BadMatch;
+ goto unwind;
+ }
/* send enter/leave event, update sprite window */
CheckMotion(NULL, dev);
}