comctl32: Fix a potential regression in ImageList_ReplaceIcon().
This commit is contained in:
parent
2614e0ee91
commit
9e772d1369
|
@ -2253,6 +2253,7 @@ ImageList_ReplaceIcon (HIMAGELIST himl, INT i, HICON hIcon)
|
|||
BITMAP bmp;
|
||||
BOOL ret;
|
||||
POINT pt;
|
||||
INT i;
|
||||
|
||||
TRACE("(%p %d %p)\n", himl, i, hIcon);
|
||||
|
||||
|
@ -2317,14 +2318,17 @@ ImageList_ReplaceIcon (HIMAGELIST himl, INT i, HICON hIcon)
|
|||
SetBkColor (himl->hdcImage, RGB(255,255,255));
|
||||
hbmOldSrc = SelectObject (hdcImage, ii.hbmColor);
|
||||
|
||||
imagelist_point_from_index(himl, nIndex, &pt);
|
||||
StretchBlt (himl->hdcImage, pt.x, pt.y, himl->cx, himl->cy,
|
||||
hdcImage, 0, 0, bmp.bmWidth, bmp.bmHeight, SRCCOPY);
|
||||
for (i=0; i<(bmp.bmWidth/himl->cx); i++) {
|
||||
|
||||
if (himl->hbmMask) {
|
||||
SelectObject (hdcImage, ii.hbmMask);
|
||||
StretchBlt (himl->hdcMask, pt.x, pt.y, himl->cx, himl->cy,
|
||||
hdcImage, 0, 0, bmp.bmWidth, bmp.bmHeight, SRCCOPY);
|
||||
imagelist_point_from_index(himl, nIndex+i, &pt);
|
||||
StretchBlt (himl->hdcImage, pt.x, pt.y, himl->cx, himl->cy,
|
||||
hdcImage, 0, 0, himl->cx*i, bmp.bmHeight, SRCCOPY);
|
||||
|
||||
if (himl->hbmMask) {
|
||||
SelectObject (hdcImage, ii.hbmMask);
|
||||
StretchBlt (himl->hdcMask, pt.x, pt.y, himl->cx, himl->cy,
|
||||
hdcImage, 0, 0, himl->cx*i, bmp.bmHeight, SRCCOPY);
|
||||
}
|
||||
}
|
||||
|
||||
SelectObject (hdcImage, hbmOldSrc);
|
||||
|
|
Loading…
Reference in New Issue