aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/dix
diff options
context:
space:
mode:
Diffstat (limited to 'xorg-server/dix')
-rw-r--r--xorg-server/dix/devices.c4
-rw-r--r--xorg-server/dix/events.c9
2 files changed, 6 insertions, 7 deletions
diff --git a/xorg-server/dix/devices.c b/xorg-server/dix/devices.c
index 3634eece0..6329d2810 100644
--- a/xorg-server/dix/devices.c
+++ b/xorg-server/dix/devices.c
@@ -686,7 +686,6 @@ FreeDeviceClass(int type, pointer *class)
{
ValuatorClassPtr *v = (ValuatorClassPtr*)class;
- /* Counterpart to 'biggest hack ever' in init. */
if ((*v)->motion)
xfree((*v)->motion);
xfree((*v));
@@ -908,6 +907,9 @@ CloseDownDevices(void)
DeleteInputDeviceRequest(dev);
}
+ CloseDevice(inputInfo.pointer);
+ CloseDevice(inputInfo.keyboard);
+
inputInfo.devices = NULL;
inputInfo.off_devices = NULL;
inputInfo.keyboard = NULL;
diff --git a/xorg-server/dix/events.c b/xorg-server/dix/events.c
index 015c2b19f..7e0867c82 100644
--- a/xorg-server/dix/events.c
+++ b/xorg-server/dix/events.c
@@ -5080,12 +5080,9 @@ InitEvents(void)
void
CloseDownEvents(void)
{
- int len;
- EventListPtr list;
-
- len = GetEventList(&list);
- while(len--)
- xfree(list[len].event);
+ FreeEventList(InputEventList, InputEventListLen);
+ InputEventListLen = 0;
+ InputEventList = NULL;
}
/**