xserver: Branch 'master'

Søren Sandmann Pedersen sandmann at kemper.freedesktop.org
Thu Jun 21 21:51:59 PDT 2007


 fb/fbfill.c |   54 ++++++++++++++++++++++--------------------------------
 1 files changed, 22 insertions(+), 32 deletions(-)

New commits:
diff-tree 19cde59c41cf167cc609debfee75bfc015beac12 (from d2177c80915f2fe2e8a5c948d4ba2fa51dbfbea2)
Author: Søren Sandmann Pedersen <sandmann at redhat.com>
Date:   Fri Jun 22 00:38:50 2007 -0400

    In fbFill() make sure the drawable is validated when pixman_fill() succeeds.
    
    In fbSolidBoxClipped() don't return when pixman_fill() succeeds.

diff --git a/fb/fbfill.c b/fb/fbfill.c
index a3147ec..4957bed 100644
--- a/fb/fbfill.c
+++ b/fb/fbfill.c
@@ -47,21 +47,17 @@ fbFill (DrawablePtr pDrawable,
     switch (pGC->fillStyle) {
     case FillSolid:
 #ifndef FB_ACCESS_WRAPPER
-	if (!pPriv->and)
-	{
-	    if (pixman_fill (dst, dstStride, dstBpp, x + dstXoff, y + dstYoff, width, height, pPriv->xor))
-	    {
-		fbFinishAccess (pDrawable);
-		return;
-	    }
-	}
+	if (pPriv->and || !pixman_fill ((uint32_t *)dst, dstStride, dstBpp,
+					x + dstXoff, y + dstYoff,
+					width, height,
+					pPriv->xor))
 #endif	    
-	fbSolid (dst + (y + dstYoff) * dstStride, 
-		 dstStride, 
-		 (x + dstXoff) * dstBpp,
-		 dstBpp,
-		 width * dstBpp, height,
-		 pPriv->and, pPriv->xor);
+	    fbSolid (dst + (y + dstYoff) * dstStride, 
+		     dstStride, 
+		     (x + dstXoff) * dstBpp,
+		     dstBpp,
+		     width * dstBpp, height,
+		     pPriv->and, pPriv->xor);
 	break;
     case FillStippled:
     case FillOpaqueStippled: {
@@ -218,25 +214,19 @@ fbSolidBoxClipped (DrawablePtr	pDrawable
 	    continue;
 
 #ifndef FB_ACCESS_WRAPPER
-	if (!and)
-	{
-	    if (pixman_fill (dst, dstStride, dstBpp,
-			     partX1 + dstXoff, partY1 + dstYoff, (partX2 - partX1), (partY2 - partY1),
-			     xor))
-	    {
-		fbFinishAccess (pDrawable);
-		return;
-	    }
-	}
+	if (and || !pixman_fill ((uint32_t *)dst, dstStride, dstBpp,
+				 partX1 + dstXoff, partY1 + dstYoff,
+				 (partX2 - partX1), (partY2 - partY1),
+				 xor))
 #endif
-	fbSolid (dst + (partY1 + dstYoff) * dstStride,
-		 dstStride,
-		 (partX1 + dstXoff) * dstBpp,
-		 dstBpp,
-
-		 (partX2 - partX1) * dstBpp,
-		 (partY2 - partY1),
-		 and, xor);
+	    fbSolid (dst + (partY1 + dstYoff) * dstStride,
+		     dstStride,
+		     (partX1 + dstXoff) * dstBpp,
+		     dstBpp,
+		     
+		     (partX2 - partX1) * dstBpp,
+		     (partY2 - partY1),
+		     and, xor);
     }
     fbFinishAccess (pDrawable);
 }


More information about the xorg-commit mailing list