If the driver fails to free the screen pixmap in its CloseScreen
function, fb is about the only place available. This probably
shouldn't be done though; it won't clean up the pixmap correctly.

Signed-off-by: Keith Packard <[email protected]>
---
 fb/fbscreen.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/fb/fbscreen.c b/fb/fbscreen.c
index 53e2ada..fab55ef 100644
--- a/fb/fbscreen.c
+++ b/fb/fbscreen.c
@@ -36,7 +36,10 @@ fbCloseScreen (int index, ScreenPtr pScreen)
        xfree (depths[d].vids);
     xfree (depths);
     xfree (pScreen->visuals);
-    xfree (pScreen->devPrivate);
+    if (pScreen->devPrivate) {
+       FreePixmap(pScreen->devPrivate);
+       pScreen->devPrivate = NULL;
+    }
 #ifdef FB_SCREEN_PRIVATE
     xfree (dixLookupPrivate(&pScreen->devPrivates, fbGetScreenPrivateKey()));
 #endif
-- 
1.7.0.4

_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to