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:
parent
7f0494671f
commit
140c2f1a54
|
@ -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) {
|
||||||
|
|
Loading…
Reference in New Issue