summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRussell King <rmk@arm.linux.org.uk>2013-12-23 15:36:07 +0000
committerRussell King <rmk@arm.linux.org.uk>2013-12-23 15:36:07 +0000
commit8f8dd2e8fcd17c34028ca1cfafddb08ef3731845 (patch)
tree5a4451e4146d799d1828a17521b8331c60be8036
parent80993e4b85286124b14aa3aa6e2ac6c0e072720f (diff)
downloadxf86-video-armada-8f8dd2e8fcd17c34028ca1cfafddb08ef3731845.tar.gz
xf86-video-armada-8f8dd2e8fcd17c34028ca1cfafddb08ef3731845.tar.xz
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 <rmk@arm.linux.org.uk>
-rw-r--r--src/armada_drm.c5
1 files 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;