pixman: Branch 'master'

Søren Sandmann Pedersen sandmann at kemper.freedesktop.org
Fri Jul 23 16:18:24 PDT 2010


 pixman/pixman-bits-image.c |   16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

New commits:
commit 90483fcabbd19b35ded094a6a592ee224029fd07
Author: Søren Sandmann Pedersen <ssp at redhat.com>
Date:   Thu Jul 15 23:40:28 2010 -0400

    bits: Fix potential divide-by-zero in projective code
    
    If the homogeneous coordinate is 0, just set the coordinates to 0.

diff --git a/pixman/pixman-bits-image.c b/pixman/pixman-bits-image.c
index 95710b4..36ea0af 100644
--- a/pixman/pixman-bits-image.c
+++ b/pixman/pixman-bits-image.c
@@ -695,12 +695,20 @@ bits_image_fetch_transformed (pixman_image_t * image,
     {
 	for (i = 0; i < width; ++i)
 	{
-	    pixman_fixed_t x0, y0;
-
 	    if (!mask || mask[i])
 	    {
-		x0 = ((pixman_fixed_48_16_t)x << 16) / w;
-		y0 = ((pixman_fixed_48_16_t)y << 16) / w;
+		pixman_fixed_t x0, y0;
+
+		if (w != 0)
+		{
+		    x0 = ((pixman_fixed_48_16_t)x << 16) / w;
+		    y0 = ((pixman_fixed_48_16_t)y << 16) / w;
+		}
+		else
+		{
+		    x0 = 0;
+		    y0 = 0;
+		}
 
 		buffer[i] =
 		    bits_image_fetch_pixel_filtered (&image->bits, x0, y0);


More information about the xorg-commit mailing list