summaryrefslogtreecommitdiff
path: root/uxa/uxa.c
diff options
context:
space:
mode:
Diffstat (limited to 'uxa/uxa.c')
-rw-r--r--uxa/uxa.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/uxa/uxa.c b/uxa/uxa.c
index 4bf8c774..d6ad5a63 100644
--- a/uxa/uxa.c
+++ b/uxa/uxa.c
@@ -361,6 +361,16 @@ static Bool uxa_close_screen(int i, ScreenPtr pScreen)
#ifdef RENDER
PictureScreenPtr ps = GetPictureScreenIfSet(pScreen);
#endif
+ int n;
+
+ if (uxa_screen->solid_clear)
+ FreePicture(uxa_screen->solid_clear, 0);
+ if (uxa_screen->solid_black)
+ FreePicture(uxa_screen->solid_black, 0);
+ if (uxa_screen->solid_white)
+ FreePicture(uxa_screen->solid_white, 0);
+ for (n = 0; n < uxa_screen->solid_cache_size; n++)
+ FreePicture(uxa_screen->solid_cache[n].picture, 0);
uxa_glyphs_fini(pScreen);
@@ -467,6 +477,11 @@ Bool uxa_driver_init(ScreenPtr screen, uxa_driver_t * uxa_driver)
dixSetPrivate(&screen->devPrivates, &uxa_screen_index, uxa_screen);
+ uxa_screen->solid_cache_size = 0;
+ uxa_screen->solid_clear = 0;
+ uxa_screen->solid_black = 0;
+ uxa_screen->solid_white = 0;
+
// exaDDXDriverInit(screen);
/*