Vincent Povirk : gdiplus: Disable alpha channel support for BMP images.
Alexandre Julliard
julliard at winehq.org
Tue Sep 8 08:54:04 CDT 2009
Module: wine
Branch: master
Commit: 0313f88794823e4b084918d0aee7897de7484c77
URL: http://source.winehq.org/git/wine.git/?a=commit;h=0313f88794823e4b084918d0aee7897de7484c77
Author: Vincent Povirk <vincent at codeweavers.com>
Date: Fri Sep 4 10:23:30 2009 -0500
gdiplus: Disable alpha channel support for BMP images.
---
dlls/gdiplus/image.c | 15 ++++++++++++++-
1 files changed, 14 insertions(+), 1 deletions(-)
diff --git a/dlls/gdiplus/image.c b/dlls/gdiplus/image.c
index 73b1dc8..28982a1 100644
--- a/dlls/gdiplus/image.c
+++ b/dlls/gdiplus/image.c
@@ -1509,7 +1509,20 @@ static GpStatus decode_image_icon(IStream* stream, REFCLSID clsid, GpImage **ima
static GpStatus decode_image_bmp(IStream* stream, REFCLSID clsid, GpImage **image)
{
- return decode_image_wic(stream, &CLSID_WICBmpDecoder, image);
+ GpStatus status;
+ GpBitmap* bitmap;
+
+ status = decode_image_wic(stream, &CLSID_WICBmpDecoder, image);
+
+ bitmap = (GpBitmap*)*image;
+
+ if (status == Ok && bitmap->format == PixelFormat32bppARGB)
+ {
+ /* WIC supports bmp files with alpha, but gdiplus does not */
+ bitmap->format = PixelFormat32bppRGB;
+ }
+
+ return status;
}
static GpStatus decode_image_jpeg(IStream* stream, REFCLSID clsid, GpImage **image)
More information about the wine-cvs
mailing list