From b05246696d14bd35aa53b49302707b51206c72a6 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Thu, 15 Nov 2007 11:31:43 +1030 Subject: [PATCH] Xi: free XkbSrvLedInfos as well when freeing an MD's device classes. --- Xi/exevents.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Xi/exevents.c b/Xi/exevents.c index 1bf6c5179..158f523f0 100644 --- a/Xi/exevents.c +++ b/Xi/exevents.c @@ -278,14 +278,23 @@ ChangeMasterDeviceClasses(DeviceIntPtr device, #endif xfree(master->key); master->key = NULL; xfree(master->valuator); master->valuator = NULL; + /* XXX: xkb_acts needs to be freed for master->button */ xfree(master->button); master->button = NULL; xfree(master->focus); master->focus = NULL; xfree(master->proximity); master->proximity = NULL; xfree(master->absolute); master->absolute = NULL; +#ifdef XKB + if (master->kbdfeed && master->kbdfeed->xkb_sli) + XkbFreeSrvLedInfo(master->kbdfeed->xkb_sli); +#endif xfree(master->kbdfeed); master->kbdfeed = NULL; xfree(master->ptrfeed); master->ptrfeed = NULL; xfree(master->stringfeed); master->stringfeed = NULL; xfree(master->bell); master->bell = NULL; +#ifdef XKB + if (master->leds && master->leds->xkb_sli) + XkbFreeSrvLedInfo(master->leds->xkb_sli); +#endif xfree(master->leds); master->leds = NULL; xfree(master->intfeed); master->intfeed = NULL;