]>
Commit | Line | Data |
---|---|---|
05926b50 JR |
1 | --- xorg-server-1.6.3/composite/compalloc.c 2009-07-07 13:48:57.000000000 -0400 |
2 | +++ xorg-server-1.6.3-backclear/composite/compalloc.c 2009-09-09 11:55:03.000000000 -0400 | |
3 | @@ -483,65 +483,33 @@ | |
4 | ||
5 | pPixmap->screen_x = x; | |
6 | pPixmap->screen_y = y; | |
7 | - | |
8 | - if (pParent->drawable.depth == pWin->drawable.depth) | |
9 | - { | |
10 | - GCPtr pGC = GetScratchGC (pWin->drawable.depth, pScreen); | |
11 | - | |
12 | - /* | |
13 | - * Copy bits from the parent into the new pixmap so that it will | |
14 | - * have "reasonable" contents in case for background None areas. | |
15 | - */ | |
16 | - if (pGC) | |
17 | - { | |
18 | - XID val = IncludeInferiors; | |
19 | - | |
20 | - ValidateGC(&pPixmap->drawable, pGC); | |
21 | - dixChangeGC (serverClient, pGC, GCSubwindowMode, &val, NULL); | |
22 | - (*pGC->ops->CopyArea) (&pParent->drawable, | |
23 | - &pPixmap->drawable, | |
24 | - pGC, | |
25 | - x - pParent->drawable.x, | |
26 | - y - pParent->drawable.y, | |
27 | - w, h, 0, 0); | |
28 | - FreeScratchGC (pGC); | |
29 | - } | |
30 | - } | |
31 | - else | |
32 | + | |
33 | { | |
34 | - PictFormatPtr pSrcFormat = compWindowFormat (pParent); | |
35 | - PictFormatPtr pDstFormat = compWindowFormat (pWin); | |
36 | + /* | |
37 | + * Initialize new backing pixmap as fully transparent. | |
38 | + */ | |
39 | + PictFormatPtr pDstFormat = compWindowFormat (pWin); | |
40 | XID inferiors = IncludeInferiors; | |
41 | int error; | |
42 | ||
43 | - PicturePtr pSrcPicture = CreatePicture (None, | |
44 | - &pParent->drawable, | |
45 | - pSrcFormat, | |
46 | - CPSubwindowMode, | |
47 | - &inferiors, | |
48 | - serverClient, &error); | |
49 | - | |
50 | PicturePtr pDstPicture = CreatePicture (None, | |
51 | &pPixmap->drawable, | |
52 | pDstFormat, | |
53 | 0, 0, | |
54 | serverClient, &error); | |
55 | ||
56 | - if (pSrcPicture && pDstPicture) | |
57 | + if (pDstPicture) | |
58 | { | |
59 | - CompositePicture (PictOpSrc, | |
60 | - pSrcPicture, | |
61 | + CompositePicture (PictOpClear, | |
62 | + pDstPicture, | |
63 | NULL, | |
64 | pDstPicture, | |
65 | - x - pParent->drawable.x, | |
66 | - y - pParent->drawable.y, | |
67 | - 0, 0, 0, 0, w, h); | |
68 | + 0, 0, 0, 0, 0, 0, w, h); | |
69 | } | |
70 | - if (pSrcPicture) | |
71 | - FreePicture (pSrcPicture, 0); | |
72 | if (pDstPicture) | |
73 | FreePicture (pDstPicture, 0); | |
74 | } | |
75 | + | |
76 | return pPixmap; | |
77 | } | |
78 |