Fix in X11DRV_GetDIBits for explicit color masks
Rob -
mypublicaccount at hotmail.com
Fri Jul 12 09:27:35 CDT 2002
Hello, Hope you like my first wine patch. :-)
This patch fixes MSN Messenger emoticon images. They had wrong colors &
were simply distorted.
Wine's GDI32.GetDIBits accepts the BI_BITFIELDS flag, thus converting the
color format. But it clears the flag from the bitmap header on return. So
using the bitmap gives invalid results.
ChangeLog:
graphics/x11drv/dib.c: X11DRV_GetDIBits
Don't clear the biCompression==BI_BITFIELDS flag after creating the
bits
Rob McClinton
Index: graphics/x11drv/dib.c
===================================================================
RCS file: /home/wine/wine/graphics/x11drv/dib.c,v
retrieving revision 1.99
diff -u -r1.99 dib.c
--- graphics/x11drv/dib.c 3 Jul 2002 21:10:44 -0000 1.99
+++ graphics/x11drv/dib.c 12 Jul 2002 13:42:20 -0000
@@ -5043,12 +5043,17 @@
info->bmiHeader.biHeight,
info->bmiHeader.biBitCount );
- info->bmiHeader.biCompression = 0;
if (descr.compression == BI_BITFIELDS)
{
*(DWORD *)info->bmiColors = descr.rMask;
*((DWORD *)info->bmiColors+1) = descr.gMask;
*((DWORD *)info->bmiColors+2) = descr.bMask;
+ }
+ else
+ {
+ /* if RLE or JPEG compression were supported,
+ * this line would be invalid. */
+ info->bmiHeader.biCompression = 0;
}
_________________________________________________________________
MSN Photos is the easiest way to share and print your photos:
http://photos.msn.com/support/worldwide.aspx
More information about the wine-patches
mailing list