summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2009-08-28 08:16:36 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2009-08-28 08:18:35 +1000
commit7dacfde39a027bb868493ba075e2f1d787c9b191 (patch)
treec86772d55f2f4ca991e967b5c140ead011463288
parent7d203627e7e3e7a6f8d0e847ed650b0b89760c09 (diff)
Fix module unloading.
After calling xfree(priv), local->private must be set NULL. Otherwise the server tries to free it again during xf86DeleteInput. local->name must not be freed, it is set to XI_TOUCHSCREEN during PreInit. local must not be freed, we pass it into xf86DeleteInput. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-rw-r--r--src/xf86Fpit.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/xf86Fpit.c b/src/xf86Fpit.c
index f40c6a9..ce7540b 100644
--- a/src/xf86Fpit.c
+++ b/src/xf86Fpit.c
@@ -589,8 +589,7 @@ static void xf86FpitUninit(InputDriverPtr drv, LocalDevicePtr local, int flags)
xf86FpitControl(local->dev, DEVICE_OFF);
xfree(priv->fpitDev);
xfree(priv);
- xfree(local->name);
- xfree(local);
+ local->private = NULL;
xf86DeleteInput(local, 0);
}