From a8cb70389bdcd82ed952449de307ecb2a633ebe7 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Fri, 24 Aug 2012 13:23:01 +1000 Subject: [PATCH 2/2] dix: free default colormap before screen deletion If we don't free this here, it gets freed later in the resource cleanups, however it then looks up up pmap->pScreen, which we freed already in this function. So free the default colormap when we should. This fixes a bug after a couple of hotplug cycles when you try to exit the X server and it crashes. Signed-off-by: Dave Airlie --- dix/dispatch.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dix/dispatch.c b/dix/dispatch.c index 3c6a591..e002574 100644 --- a/dix/dispatch.c +++ b/dix/dispatch.c @@ -3904,6 +3904,8 @@ RemoveGPUScreen(ScreenPtr pScreen) } screenInfo.numGPUScreens--; + if (pScreen->defColormap) + FreeResource(pScreen->defColormap, RT_COLORMAP); free(pScreen); } -- 1.7.11.2