summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--fb/fbpict.c6
2 files changed, 8 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 9af4ff44a..54d36a7d7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
2006-05-11 Matthias Hopf <mhopf@suse.de>
+ * fb/fbpict.c: (fbComposite):
+ Bug #5796: Wrong fastpath selection for repeating sources.
+
+2006-05-11 Matthias Hopf <mhopf@suse.de>
+
* hw/xfree86/xaa/xaaPict.c: (XAAComposite):
Bug #4320: Improved XAA Composite fastpath.
diff --git a/fb/fbpict.c b/fb/fbpict.c
index 591ddffe3..f248fdb84 100644
--- a/fb/fbpict.c
+++ b/fb/fbpict.c
@@ -844,7 +844,7 @@ fbComposite (CARD8 op,
int n;
BoxPtr pbox;
CompositeFunc func = NULL;
- Bool srcRepeat = pSrc->pDrawable && pSrc->repeat == RepeatNormal;
+ Bool srcRepeat = pSrc->pDrawable && pSrc->repeat;
Bool maskRepeat = FALSE;
Bool srcAlphaMap = pSrc->alphaMap != 0;
Bool maskAlphaMap = FALSE;
@@ -990,7 +990,7 @@ fbComposite (CARD8 op,
}
}
}
- else /* has mask and non-repeating source */
+ else if (! srcRepeat) /* has mask and non-repeating source */
{
if (pSrc->pDrawable == pMask->pDrawable &&
xSrc == xMask && ySrc == yMask &&
@@ -1098,7 +1098,7 @@ fbComposite (CARD8 op,
break;
}
}
- else
+ else if (! srcRepeat)
{
switch (pSrc->format) {
case PICT_a8r8g8b8: