Mike McCormack : comctl32: Remove Nx1 assumptions in
ImageList_GetIcon().
Alexandre Julliard
julliard at wine.codeweavers.com
Mon Nov 6 05:48:32 CST 2006
Module: wine
Branch: master
Commit: 9cd86dddf1af73cc9255cf63dc0cf928e336f731
URL: http://source.winehq.org/git/wine.git/?a=commit;h=9cd86dddf1af73cc9255cf63dc0cf928e336f731
Author: Mike McCormack <mike at codeweavers.com>
Date: Sun Nov 5 17:09:47 2006 +0900
comctl32: Remove Nx1 assumptions in ImageList_GetIcon().
---
dlls/comctl32/imagelist.c | 7 +++++--
1 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/dlls/comctl32/imagelist.c b/dlls/comctl32/imagelist.c
index 91dc7a5..3db07e5 100644
--- a/dlls/comctl32/imagelist.c
+++ b/dlls/comctl32/imagelist.c
@@ -1441,6 +1441,7 @@ ImageList_GetIcon (HIMAGELIST himl, INT
HICON hIcon;
HBITMAP hOldDstBitmap;
HDC hdcDst;
+ POINT pt;
TRACE("%p %d %d\n", himl, i, fStyle);
if (!is_valid(himl) || (i < 0) || (i >= himl->cCurImage)) return NULL;
@@ -1456,12 +1457,14 @@ ImageList_GetIcon (HIMAGELIST himl, INT
hdcDst = CreateCompatibleDC(0);
+ imagelist_point_from_index( himl, i, &pt );
+
/* draw mask*/
ii.hbmMask = CreateBitmap (himl->cx, himl->cy, 1, 1, NULL);
hOldDstBitmap = SelectObject (hdcDst, ii.hbmMask);
if (himl->hbmMask) {
BitBlt (hdcDst, 0, 0, himl->cx, himl->cy,
- himl->hdcMask, i * himl->cx, 0, SRCCOPY);
+ himl->hdcMask, pt.x, pt.y, SRCCOPY);
}
else
PatBlt (hdcDst, 0, 0, himl->cx, himl->cy, BLACKNESS);
@@ -1469,7 +1472,7 @@ ImageList_GetIcon (HIMAGELIST himl, INT
/* draw image*/
SelectObject (hdcDst, ii.hbmColor);
BitBlt (hdcDst, 0, 0, himl->cx, himl->cy,
- himl->hdcImage, i * himl->cx, 0, SRCCOPY);
+ himl->hdcImage, pt.x, pt.y, SRCCOPY);
/*
* CreateIconIndirect requires us to deselect the bitmaps from
More information about the wine-cvs
mailing list