summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEgbert Eich <eich@freedesktop.org>2008-06-22 09:28:38 +0200
committerEgbert Eich <eich@freedesktop.org>2008-06-22 09:28:38 +0200
commit74cb0fc66d47230c5d001e30553db1277ec06994 (patch)
treeddd7c75410ae5e1dd5e4767759c03f07198bde8f
parent47ba86d61f786811244a5a1a5688efab7f30a7d2 (diff)
Free data structures on close screen to avoid memory leak.
-rw-r--r--src/rhd_driver.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/rhd_driver.c b/src/rhd_driver.c
index a921ad7..3108c8f 100644
--- a/src/rhd_driver.c
+++ b/src/rhd_driver.c
@@ -1139,9 +1139,15 @@ RHDCloseScreen(int scrnIndex, ScreenPtr pScreen)
RHDShadowCloseScreen(pScreen);
#ifdef USE_EXA
else if (rhdPtr->AccelMethod == RHD_ACCEL_EXA) {
- if (rhdPtr->ChipSet < RHD_R600)
+ if (rhdPtr->ChipSet < RHD_R600) {
R5xxEXACloseScreen(pScreen);
+ R5xxEXADestroy(pScrn);
+ }
+ } else if (rhdPtr->AccelMethod == RHD_ACCEL_EXA) {
+ if (rhdPtr->ChipSet < RHD_R600)
+ R5xxXAADestroy(pScrn);
}
+
#endif /* USE_EXA */
/* nothing for XAA: handled in FreeRec */