[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
}