diff --git a/exa/exa_glyphs.c b/exa/exa_glyphs.c index cf21ea914..192a643cc 100644 --- a/exa/exa_glyphs.c +++ b/exa/exa_glyphs.c @@ -618,9 +618,9 @@ exaGlyphsToMask(PicturePtr pMask, ExaGlyphBufferPtr buffer) } 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->count = 0; @@ -801,7 +801,7 @@ exaGlyphs(CARD8 op, 0, 0, x - glyph->info.x, y - glyph->info.y) == ExaGlyphNeedFlush) { - exaGlyphsToDst(pSrc, pDst, &buffer); + exaGlyphsToDst(op, pSrc, pDst, &buffer); exaBufferGlyph(pScreen, &buffer, glyph, pSrc, pDst, xSrc + (x - glyph->info.x) - first_xOff, ySrc + (y - glyph->info.y) - first_yOff, @@ -821,7 +821,7 @@ exaGlyphs(CARD8 op, if (maskFormat) exaGlyphsToMask(pMask, &buffer); else - exaGlyphsToDst(pSrc, pDst, &buffer); + exaGlyphsToDst(op, pSrc, pDst, &buffer); } if (maskFormat) {