+++ /dev/null
---- xorg-server-1.6.3/composite/compalloc.c 2009-07-07 13:48:57.000000000 -0400
-+++ xorg-server-1.6.3-backclear/composite/compalloc.c 2009-09-09 11:55:03.000000000 -0400
-@@ -483,65 +483,33 @@
-
- pPixmap->screen_x = x;
- pPixmap->screen_y = y;
--
-- if (pParent->drawable.depth == pWin->drawable.depth)
-- {
-- GCPtr pGC = GetScratchGC (pWin->drawable.depth, pScreen);
--
-- /*
-- * Copy bits from the parent into the new pixmap so that it will
-- * have "reasonable" contents in case for background None areas.
-- */
-- if (pGC)
-- {
-- XID val = IncludeInferiors;
--
-- ValidateGC(&pPixmap->drawable, pGC);
-- dixChangeGC (serverClient, pGC, GCSubwindowMode, &val, NULL);
-- (*pGC->ops->CopyArea) (&pParent->drawable,
-- &pPixmap->drawable,
-- pGC,
-- x - pParent->drawable.x,
-- y - pParent->drawable.y,
-- w, h, 0, 0);
-- FreeScratchGC (pGC);
-- }
-- }
-- else
-+
- {
-- PictFormatPtr pSrcFormat = compWindowFormat (pParent);
-- PictFormatPtr pDstFormat = compWindowFormat (pWin);
-+ /*
-+ * Initialize new backing pixmap as fully transparent.
-+ */
-+ PictFormatPtr pDstFormat = compWindowFormat (pWin);
- XID inferiors = IncludeInferiors;
- int error;
-
-- PicturePtr pSrcPicture = CreatePicture (None,
-- &pParent->drawable,
-- pSrcFormat,
-- CPSubwindowMode,
-- &inferiors,
-- serverClient, &error);
--
- PicturePtr pDstPicture = CreatePicture (None,
- &pPixmap->drawable,
- pDstFormat,
- 0, 0,
- serverClient, &error);
-
-- if (pSrcPicture && pDstPicture)
-+ if (pDstPicture)
- {
-- CompositePicture (PictOpSrc,
-- pSrcPicture,
-+ CompositePicture (PictOpClear,
-+ pDstPicture,
- NULL,
- pDstPicture,
-- x - pParent->drawable.x,
-- y - pParent->drawable.y,
-- 0, 0, 0, 0, w, h);
-+ 0, 0, 0, 0, 0, 0, w, h);
- }
-- if (pSrcPicture)
-- FreePicture (pSrcPicture, 0);
- if (pDstPicture)
- FreePicture (pDstPicture, 0);
- }
-+
- return pPixmap;
- }
-