In fbFill() make sure the drawable is validated when pixman_fill() succeeds.

In fbSolidBoxClipped() don't return when pixman_fill() succeeds.
This commit is contained in:
Søren Sandmann Pedersen 2007-06-22 00:38:50 -04:00
parent d2177c8091
commit 19cde59c41

View File

@ -47,14 +47,10 @@ fbFill (DrawablePtr pDrawable,
switch (pGC->fillStyle) { switch (pGC->fillStyle) {
case FillSolid: case FillSolid:
#ifndef FB_ACCESS_WRAPPER #ifndef FB_ACCESS_WRAPPER
if (!pPriv->and) if (pPriv->and || !pixman_fill ((uint32_t *)dst, dstStride, dstBpp,
{ x + dstXoff, y + dstYoff,
if (pixman_fill (dst, dstStride, dstBpp, x + dstXoff, y + dstYoff, width, height, pPriv->xor)) width, height,
{ pPriv->xor))
fbFinishAccess (pDrawable);
return;
}
}
#endif #endif
fbSolid (dst + (y + dstYoff) * dstStride, fbSolid (dst + (y + dstYoff) * dstStride,
dstStride, dstStride,
@ -218,16 +214,10 @@ fbSolidBoxClipped (DrawablePtr pDrawable,
continue; continue;
#ifndef FB_ACCESS_WRAPPER #ifndef FB_ACCESS_WRAPPER
if (!and) if (and || !pixman_fill ((uint32_t *)dst, dstStride, dstBpp,
{ partX1 + dstXoff, partY1 + dstYoff,
if (pixman_fill (dst, dstStride, dstBpp, (partX2 - partX1), (partY2 - partY1),
partX1 + dstXoff, partY1 + dstYoff, (partX2 - partX1), (partY2 - partY1),
xor)) xor))
{
fbFinishAccess (pDrawable);
return;
}
}
#endif #endif
fbSolid (dst + (partY1 + dstYoff) * dstStride, fbSolid (dst + (partY1 + dstYoff) * dstStride,
dstStride, dstStride,