exa: don't call composite routines with no buffer.

We can get a case with gnome-terminal + links, where we get two arrays
of glyphs all with 0 width and 0 heights in them. If this happens
we manage to get to this case without any buffer setup and segfault.
This commit is contained in:
Dave Airlie 2008-10-07 02:38:44 +10:00
parent aacac3edac
commit 717c7492a0

View File

@ -871,12 +871,14 @@ exaGlyphs (CARD8 op,
list++;
}
if (maskFormat)
exaGlyphsToMask(pMask, &buffer);
else
exaGlyphsToDst(op, pSrc, pDst, &buffer,
xSrc, ySrc, xDst, yDst);
if (buffer.count) {
if (maskFormat)
exaGlyphsToMask(pMask, &buffer);
else
exaGlyphsToDst(op, pSrc, pDst, &buffer,
xSrc, ySrc, xDst, yDst);
}
if (maskFormat)
{
x = extents.x1;