diff options
author | marha <marha@users.sourceforge.net> | 2011-04-28 11:14:32 +0000 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2011-04-28 11:14:32 +0000 |
commit | 1840c5631682e0a69ed11487a23a43d45f2d15e1 (patch) | |
tree | fe954636044c0057b9f08e76d19489493ff09745 /xorg-server/exa | |
parent | 2ab09dc03e4ecc726ee7b5528306b0fe3e5b1837 (diff) | |
parent | 57a879849643e79d9674198a3a77c59532fb79b4 (diff) | |
download | vcxsrv-1840c5631682e0a69ed11487a23a43d45f2d15e1.tar.gz vcxsrv-1840c5631682e0a69ed11487a23a43d45f2d15e1.tar.bz2 vcxsrv-1840c5631682e0a69ed11487a23a43d45f2d15e1.zip |
svn merge ^/branches/released .
Diffstat (limited to 'xorg-server/exa')
-rw-r--r-- | xorg-server/exa/exa_unaccel.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/xorg-server/exa/exa_unaccel.c b/xorg-server/exa/exa_unaccel.c index 9c22fc5f1..1ed08d5b1 100644 --- a/xorg-server/exa/exa_unaccel.c +++ b/xorg-server/exa/exa_unaccel.c @@ -127,11 +127,10 @@ ExaCheckCopyNtoN (DrawablePtr pSrc, DrawablePtr pDst, GCPtr pGC, EXA_FALLBACK(("from %p to %p (%c,%c)\n", pSrc, pDst,
exaDrawableLocation(pSrc), exaDrawableLocation(pDst)));
- if (pExaScr->prepare_access_reg) {
+ if (pExaScr->prepare_access_reg && RegionInitBoxes(®, pbox, nbox)) {
PixmapPtr pPixmap = exaGetDrawablePixmap(pSrc);
exaGetDrawableDeltas(pSrc, pPixmap, &xoff, &yoff);
- RegionInit(®, pbox, nbox);
RegionTranslate(®, xoff + dx, yoff + dy);
pExaScr->prepare_access_reg(pPixmap, EXA_PREPARE_SRC, ®);
RegionUninit(®);
@@ -140,11 +139,11 @@ ExaCheckCopyNtoN (DrawablePtr pSrc, DrawablePtr pDst, GCPtr pGC, if (pExaScr->prepare_access_reg &&
!exaGCReadsDestination(pDst, pGC->planemask, pGC->fillStyle,
- pGC->alu, pGC->clientClipType)) {
+ pGC->alu, pGC->clientClipType) &&
+ RegionInitBoxes (®, pbox, nbox)) {
PixmapPtr pPixmap = exaGetDrawablePixmap(pDst);
exaGetDrawableDeltas(pSrc, pPixmap, &xoff, &yoff);
- RegionInit(®, pbox, nbox);
RegionTranslate(®, xoff, yoff);
pExaScr->prepare_access_reg(pPixmap, EXA_PREPARE_DEST, ®);
RegionUninit(®);
|