diff options
author | Michel Dänzer <daenzer@vmware.com> | 2009-07-21 12:55:27 +0200 |
---|---|---|
committer | Michel Dänzer <daenzer@vmware.com> | 2009-07-21 12:55:27 +0200 |
commit | de7a14ca92f99ff03c8ad204aab5be8203c86a72 (patch) | |
tree | a63b6de186e0e104f15093f6ceb579bf9388cc5b /exa/exa_render.c | |
parent | be4dd35ffecbf49aff13aa9f604a44c9b665ae92 (diff) |
EXA: Fix up some issues introduced by 00fe4a297744c81b40f0243fb56ad848a9be6a2b.
* Check all pixmaps involved for damage records, fixes visual corruption due to
the screen pixmap never having one.
* Fix an array size and remove a now superfluous assignment.
Diffstat (limited to 'exa/exa_render.c')
-rw-r--r-- | exa/exa_render.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/exa/exa_render.c b/exa/exa_render.c index 678b6c202..6566aea3d 100644 --- a/exa/exa_render.c +++ b/exa/exa_render.c @@ -377,7 +377,8 @@ exaTryDriverCompositeRects(CARD8 op, return -1; } - if (pDstExaPix->pDamage) { + if (pSrcExaPix->pDamage || pDstExaPix->pDamage || + (pMask && pMaskExaPix->pDamage)) { ExaMigrationRec pixmaps[3]; pixmaps[0].as_dst = TRUE; @@ -670,7 +671,8 @@ exaTryDriverComposite(CARD8 op, REGION_TRANSLATE(pScreen, ®ion, dst_off_x, dst_off_y); - if (pDstExaPix->pDamage) { + if (pSrcExaPix->pDamage || pDstExaPix->pDamage || + (pMask && pMaskExaPix->pDamage)) { ExaMigrationRec pixmaps[3]; pixmaps[0].as_dst = TRUE; |