EXA: Honour op parameter to exaGlyphs even if maskFormat == NULL

Reported-by: Uli Schlachter <psychon@znc.in>

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94775
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Uli Schlachter <psychon@znc.in>
This commit is contained in:
Michel Dänzer 2016-04-01 18:24:00 +09:00 committed by Adam Jackson
parent 7f0494671f
commit 140c2f1a54
1 changed files with 4 additions and 4 deletions

View File

@ -618,9 +618,9 @@ exaGlyphsToMask(PicturePtr pMask, ExaGlyphBufferPtr buffer)
} }
static void static void
exaGlyphsToDst(PicturePtr pSrc, PicturePtr pDst, ExaGlyphBufferPtr buffer) exaGlyphsToDst(CARD8 op, PicturePtr pSrc, PicturePtr pDst, ExaGlyphBufferPtr buffer)
{ {
exaCompositeRects(PictOpOver, pSrc, buffer->mask, pDst, buffer->count, exaCompositeRects(op, pSrc, buffer->mask, pDst, buffer->count,
buffer->rects); buffer->rects);
buffer->count = 0; buffer->count = 0;
@ -801,7 +801,7 @@ exaGlyphs(CARD8 op,
0, 0, x - glyph->info.x, 0, 0, x - glyph->info.x,
y - glyph->info.y) y - glyph->info.y)
== ExaGlyphNeedFlush) { == ExaGlyphNeedFlush) {
exaGlyphsToDst(pSrc, pDst, &buffer); exaGlyphsToDst(op, pSrc, pDst, &buffer);
exaBufferGlyph(pScreen, &buffer, glyph, pSrc, pDst, exaBufferGlyph(pScreen, &buffer, glyph, pSrc, pDst,
xSrc + (x - glyph->info.x) - first_xOff, xSrc + (x - glyph->info.x) - first_xOff,
ySrc + (y - glyph->info.y) - first_yOff, ySrc + (y - glyph->info.y) - first_yOff,
@ -821,7 +821,7 @@ exaGlyphs(CARD8 op,
if (maskFormat) if (maskFormat)
exaGlyphsToMask(pMask, &buffer); exaGlyphsToMask(pMask, &buffer);
else else
exaGlyphsToDst(pSrc, pDst, &buffer); exaGlyphsToDst(op, pSrc, pDst, &buffer);
} }
if (maskFormat) { if (maskFormat) {