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:
parent
d2177c8091
commit
19cde59c41
24
fb/fbfill.c
24
fb/fbfill.c
|
@ -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,
|
||||||
|
|
Loading…
Reference in New Issue