aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/hw/dmx/dmxscrinit.c
diff options
context:
space:
mode:
Diffstat (limited to 'xorg-server/hw/dmx/dmxscrinit.c')
-rw-r--r--xorg-server/hw/dmx/dmxscrinit.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/xorg-server/hw/dmx/dmxscrinit.c b/xorg-server/hw/dmx/dmxscrinit.c
index b5afb5839..09734f56d 100644
--- a/xorg-server/hw/dmx/dmxscrinit.c
+++ b/xorg-server/hw/dmx/dmxscrinit.c
@@ -282,6 +282,10 @@ Bool dmxScreenInit(int idx, ScreenPtr pScreen, int argc, char *argv[])
(void)dmxPictureInit(pScreen, 0, 0);
#endif
+ /* Not yet... */
+ pScreen->GetWindowPixmap = NULL;
+ pScreen->SetWindowPixmap = NULL;
+
if (dmxShadowFB && !shadowInit(pScreen, dmxShadowUpdateProc, NULL))
return FALSE;
@@ -384,8 +388,11 @@ void dmxBECloseScreen(ScreenPtr pScreen)
} else {
/* Free the default drawables */
for (i = 0; i < dmxScreen->beNumPixmapFormats; i++) {
- XFreePixmap(dmxScreen->beDisplay, dmxScreen->scrnDefDrawables[i]);
- dmxScreen->scrnDefDrawables[i] = (Drawable)0;
+ if (dmxScreen->scrnDefDrawables[i]) {
+ XFreePixmap(dmxScreen->beDisplay,
+ dmxScreen->scrnDefDrawables[i]);
+ dmxScreen->scrnDefDrawables[i] = (Drawable)0;
+ }
}
}