summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGiuseppe Bilotta <giuseppe.bilotta@gmail.com>2007-07-09 11:03:00 +0200
committerGiuseppe Bilotta <giuseppe.bilotta@gmail.com>2007-07-09 11:03:00 +0200
commit171d4c8dc6136aa8c14aedd0ee107d6ba957de04 (patch)
treed490e08ef5f9ccade8932c936153baa631495ee3
parentc69e2c95b9eb2381709c9de14957d24ab919b5bc (diff)
Don't crash X when the tablet wasn't found.
X would crash when switching to console if the acecad module was loaded but the tablet had not been configured. Fix by properly freeing structures before returning NULL in PreInit()
-rw-r--r--src/acecad.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/acecad.c b/src/acecad.c
index 829261f..ec5f83e 100644
--- a/src/acecad.c
+++ b/src/acecad.c
@@ -488,8 +488,12 @@ SetupProc_fail:
xf86CloseSerial (local->fd);
if ((priv) && (priv->buffer))
XisbFree (priv->buffer);
- if (priv)
+ if (priv) {
xfree (priv);
+ if (local)
+ local->private = NULL;
+ }
+ xf86DeleteInput(local, 0);
return NULL;
}