From 8f8dd2e8fcd17c34028ca1cfafddb08ef3731845 Mon Sep 17 00:00:00 2001 From: Russell King Date: Mon, 23 Dec 2013 15:36:07 +0000 Subject: Fix segfault on X shutdown. Freeing the vivante-held information on the screen pixmap after the vivante acceleration backend leads to a segfault in the GALCORE libraries. Avoid this by ensuring that this is done before the backend is shutdown. Signed-off-by: Russell King --- src/armada_drm.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/armada_drm.c b/src/armada_drm.c index c3df7a4..d3ef0e3 100644 --- a/src/armada_drm.c +++ b/src/armada_drm.c @@ -385,8 +385,6 @@ static Bool armada_drm_ScreenInit(SCREEN_INIT_ARGS_DECL) if (!common_drm_PreScreenInit(pScreen)) return FALSE; - arm->CloseScreen = pScreen->CloseScreen; - pScreen->CloseScreen = armada_drm_CloseScreen; arm->CreateScreenResources = pScreen->CreateScreenResources; pScreen->CreateScreenResources = armada_drm_CreateScreenResources; @@ -396,6 +394,9 @@ static Bool armada_drm_ScreenInit(SCREEN_INIT_ARGS_DECL) arm->accel = FALSE; } + arm->CloseScreen = pScreen->CloseScreen; + pScreen->CloseScreen = armada_drm_CloseScreen; + if (!common_drm_PostScreenInit(pScreen)) return FALSE; -- cgit