[xserver-commit] xserver/fb fbcompose.c,1.19,1.20

Jaymz Julian xserver-commit@pdx.freedesktop.org


Committed by: jaymz

Update of /cvs/xserver/xserver/fb
In directory pdx:/tmp/cvs-serv12425/fb

Modified Files:
	fbcompose.c 
Log Message:

Temporarily disable the 24bpp WORKING_UNALIGNED_INT because of a crash
when using electric-fence when accessing hte last pixel of a drawable 
(last pixel is 3 bytes, read it as a 4 byte word, and you're reading one
extra pixel, which doesn't normally matter, but does in a few rare cases).
Should be easy to work around, but that will come later.



Index: fbcompose.c
===================================================================
RCS file: /cvs/xserver/xserver/fb/fbcompose.c,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -d -r1.19 -r1.20
--- a/fbcompose.c	28 Dec 2003 12:58:00 -0000	1.19
+++ b/fbcompose.c	26 Feb 2004 05:33:21 -0000	1.20
@@ -1655,14 +1655,18 @@
 	    (pixel[1] << 8) |
 	    (pixel[2]));
 #else
-	#ifdef WORKING_UNALIGNED_INT
+/* Read the changelog entry for 2004-02-24 before you turn this back on - the bug 
+ * is incredibly rare, but if you're using a malloc() debugger, it can really 
+ * ruin your day
+ */
+/*	#ifdef WORKING_UNALIGNED_INT
 		return *(CARD32 *)pixel|0xff000000;
-	#else
+	#else*/
 	    return (0xff000000 |
 		    (pixel[2] << 16) |
 		    (pixel[1] << 8) |
 		    (pixel[0]));
-	#endif
+/*	#endif*/
 #endif
 }