summaryrefslogtreecommitdiff
path: root/src/i830_driver.c
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2009-05-01 12:26:04 -0700
committerKeith Packard <keithp@keithp.com>2009-05-01 12:26:04 -0700
commite5e0fb846bda3e1757b89e50d5244d28457b9fe3 (patch)
tree6115e391878dd0094dd5d6ba000fd52bb96f3198 /src/i830_driver.c
parentcfb98f3da936907945f48dad4c2345930f7beb60 (diff)
Call down to lower CloseScreen before shutting down DRM allocator
Lower level functions will destroy objects that are managed by the DRM allocator, so make sure those are done before the allocator shuts down. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src/i830_driver.c')
-rw-r--r--src/i830_driver.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/i830_driver.c b/src/i830_driver.c
index 1ff58668..1887a518 100644
--- a/src/i830_driver.c
+++ b/src/i830_driver.c
@@ -3085,6 +3085,9 @@ I830CloseScreen(int scrnIndex, ScreenPtr pScreen)
free(pI830->offscreenImages);
pI830->offscreenImages = NULL;
+ pScreen->CloseScreen = pI830->CloseScreen;
+ (*pScreen->CloseScreen) (scrnIndex, pScreen);
+
dri_bufmgr_destroy(pI830->bufmgr);
pI830->bufmgr = NULL;
@@ -3098,8 +3101,7 @@ I830CloseScreen(int scrnIndex, ScreenPtr pScreen)
pScrn->PointerMoved = pI830->PointerMoved;
pScrn->vtSema = FALSE;
pI830->closing = FALSE;
- pScreen->CloseScreen = pI830->CloseScreen;
- return (*pScreen->CloseScreen) (scrnIndex, pScreen);
+ return TRUE;
}
static ModeStatus