Alexandre Julliard : comctl32: Don' t try to mask out the image for palette-based bitmaps.
Alexandre Julliard
julliard at winehq.org
Thu Dec 15 12:47:20 CST 2011
Module: wine
Branch: master
Commit: 129f48a69224c7fa7d46577483a7351ceb5b0a99
URL: http://source.winehq.org/git/wine.git/?a=commit;h=129f48a69224c7fa7d46577483a7351ceb5b0a99
Author: Alexandre Julliard <julliard at winehq.org>
Date: Wed Dec 14 21:38:10 2011 +0100
comctl32: Don't try to mask out the image for palette-based bitmaps.
---
dlls/comctl32/imagelist.c | 8 +++++---
1 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/dlls/comctl32/imagelist.c b/dlls/comctl32/imagelist.c
index db59104..0914c09 100644
--- a/dlls/comctl32/imagelist.c
+++ b/dlls/comctl32/imagelist.c
@@ -543,8 +543,6 @@ ImageList_AddMasked (HIMAGELIST himl, HBITMAP hBitmap, COLORREF clrMask)
SetBkColor (hdcBitmap, bkColor);
BitBlt (hdcMask, 0, 0, bmp.bmWidth, bmp.bmHeight, hdcBitmap, 0, 0, SRCCOPY);
- SetBkColor(hdcBitmap, RGB(255,255,255));
-
/*
* Remove the background from the image
*
@@ -558,7 +556,11 @@ ImageList_AddMasked (HIMAGELIST himl, HBITMAP hBitmap, COLORREF clrMask)
*
* Blt mode 0x220326 is NOTSRCAND
*/
- BitBlt(hdcBitmap, 0, 0, bmp.bmWidth, bmp.bmHeight, hdcMask, 0, 0, 0x220326);
+ if (bmp.bmBitsPixel > 8) /* NOTSRCAND can't work with palettes */
+ {
+ SetBkColor(hdcBitmap, RGB(255,255,255));
+ BitBlt(hdcBitmap, 0, 0, bmp.bmWidth, bmp.bmHeight, hdcMask, 0, 0, 0x220326);
+ }
DeleteDC(hdcBitmap);
DeleteDC(hdcMask);
More information about the wine-cvs
mailing list