diff options
author | Keith Packard <keithp@keithp.com> | 2004-08-13 08:16:14 +0000 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2004-08-13 08:16:14 +0000 |
commit | a29bfbd3d0a5d39ccee5b83ac1ba632091b031bb (patch) | |
tree | b087d11fa09d5f36f7a3b34e6333bfa8b0e6d50c /render/mirect.c | |
parent | 24bed5cff908a6f8b1857e3dadac22d6db54c69e (diff) |
Empty damage object when freeing pixmap.
Wrap InstallColormap so that the DDX doesn't see colormaps from our ARGB
visual (avoids lovely green tint to screen). Also, set visual->nplanes
of ARGB visual to all used (including alpha) planes so DIX can set
pixel values correctly.
Translate automatic update regions correctly to account for borders
When nplanes == 32 (ARGB visuals), mask in all ones for alpha values to
allocated pixel values.
Remove redundant fbAddTraps declaration
Fix fbCopyWindow to work on non-screen pixmaps (not needed yet)
Replace broken clipping code with that from modular tree.
Respect subWindowMode.
Diffstat (limited to 'render/mirect.c')
-rw-r--r-- | render/mirect.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/render/mirect.c b/render/mirect.c index 63e9c7cc4..bb50e8583 100644 --- a/render/mirect.c +++ b/render/mirect.c @@ -42,7 +42,7 @@ miColorRects (PicturePtr pDst, ScreenPtr pScreen = pDst->pDrawable->pScreen; CARD32 pixel; GCPtr pGC; - CARD32 tmpval[4]; + CARD32 tmpval[5]; RegionPtr pClip; unsigned long mask; @@ -53,12 +53,13 @@ miColorRects (PicturePtr pDst, return; tmpval[0] = GXcopy; tmpval[1] = pixel; - mask = GCFunction | GCForeground; + tmpval[2] = pDst->subWindowMode; + mask = GCFunction | GCForeground | GCSubwindowMode; if (pClipPict->clientClipType == CT_REGION) { - tmpval[2] = pDst->clipOrigin.x - xoff; - tmpval[3] = pDst->clipOrigin.y - yoff; - mask |= CPClipXOrigin|CPClipYOrigin; + tmpval[3] = pDst->clipOrigin.x - xoff; + tmpval[4] = pDst->clipOrigin.y - yoff; + mask |= GCClipXOrigin|GCClipYOrigin; pClip = REGION_CREATE (pScreen, NULL, 1); REGION_COPY (pScreen, pClip, |