diff options
| author | Peter Hutterer <peter@cs.unisa.edu.au> | 2007-11-16 12:12:41 +1030 |
|---|---|---|
| committer | Peter Hutterer <peter@cs.unisa.edu.au> | 2007-11-16 12:12:41 +1030 |
| commit | be3321c2e9fad228a9ee5fef47680a47bc9e39a4 (patch) | |
| tree | a41eb51bc2b605e9d43fc5b13a91255c6274aa79 | |
| parent | 3c39dd19ec2a53b8854279e3b03131098031473a (diff) | |
dix: Free both current classes and original classes when closing an MD.
| -rw-r--r-- | dix/devices.c | 6 |
1 files 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 |
