Add missing dirty marking in a couple of fallback cases in the exaGlyphs path.
This commit is contained in:
parent
a5f19c5150
commit
81aa7f059d
|
@ -648,6 +648,14 @@ exaPolyFillRect(DrawablePtr pDrawable,
|
|||
{
|
||||
exaDoMigration (pixmaps, 1, FALSE);
|
||||
ExaCheckPolyFillRect (pDrawable, pGC, nrect, prect);
|
||||
while (nrect-- >= 0) {
|
||||
exaDrawableDirty(pDrawable,
|
||||
pDrawable->x + prect->x,
|
||||
pDrawable->y + prect->y,
|
||||
pDrawable->x + prect->x + prect->width,
|
||||
pDrawable->y + prect->y + prect->height);
|
||||
prect++;
|
||||
}
|
||||
return;
|
||||
} else {
|
||||
exaDoMigration (pixmaps, 1, TRUE);
|
||||
|
|
|
@ -572,9 +572,7 @@ exaComposite(CARD8 op,
|
|||
if (pExaScr->swappedOut ||
|
||||
pSrc->pDrawable == NULL || (pMask != NULL && pMask->pDrawable == NULL))
|
||||
{
|
||||
ExaCheckComposite (op, pSrc, pMask, pDst, xSrc, ySrc,
|
||||
xMask, yMask, xDst, yDst, width, height);
|
||||
return;
|
||||
goto fallback;
|
||||
}
|
||||
|
||||
/* Remove repeat in source if useless */
|
||||
|
@ -683,12 +681,18 @@ exaComposite(CARD8 op,
|
|||
}
|
||||
}
|
||||
|
||||
fallback:
|
||||
#if DEBUG_TRACE_FALL
|
||||
exaPrintCompositeFallback (op, pSrc, pMask, pDst);
|
||||
#endif
|
||||
|
||||
ExaCheckComposite (op, pSrc, pMask, pDst, xSrc, ySrc,
|
||||
xMask, yMask, xDst, yDst, width, height);
|
||||
exaDrawableDirty(pDst->pDrawable,
|
||||
pDst->pDrawable->x + xDst,
|
||||
pDst->pDrawable->y + yDst,
|
||||
pDst->pDrawable->x + xDst + width,
|
||||
pDst->pDrawable->y + yDst + height);
|
||||
|
||||
done:
|
||||
pSrc->repeat = saveSrcRepeat;
|
||||
|
|
Loading…
Reference in New Issue