Module: wine Branch: master Commit: 0313f88794823e4b084918d0aee7897de7484c77 URL: http://source.winehq.org/git/wine.git/?a=commit;h=0313f88794823e4b084918d0ae...
Author: Vincent Povirk vincent@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)