From be3321c2e9fad228a9ee5fef47680a47bc9e39a4 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Fri, 16 Nov 2007 12:12:41 +1030 Subject: [PATCH] dix: Free both current classes and original classes when closing an MD. --- dix/devices.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/dix/devices.c b/dix/devices.c index bc3313c6f..7512529e8 100644 --- a/dix/devices.c +++ b/dix/devices.c @@ -817,10 +817,12 @@ CloseDevice(DeviceIntPtr dev) xfree(dev->name); if (dev->isMaster) + { classes = (ClassesPtr)dev->devPrivates[MasterDevClassesPrivIdx].ptr; - else - classes = (ClassesPtr)&dev->key; + FreeAllDeviceClasses(classes); + } + classes = (ClassesPtr)&dev->key; FreeAllDeviceClasses(classes); #ifdef XKB