From 9851f7a9021bee5f0328f386529178ab9f9325e2 Mon Sep 17 00:00:00 2001 From: Sander van Leeuwen Date: Thu, 30 May 2002 20:38:13 +0000 Subject: [PATCH] Match behaviour of ImageList_LoadImageA wrt cx parameter (when set to zero). --- dlls/comctl32/imagelist.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/dlls/comctl32/imagelist.c b/dlls/comctl32/imagelist.c index 43b7f0027d6..39e943dcd11 100644 --- a/dlls/comctl32/imagelist.c +++ b/dlls/comctl32/imagelist.c @@ -1907,6 +1907,19 @@ ImageList_LoadImageW (HINSTANCE hi, LPCWSTR lpbmp, INT cx, INT cGrow, if (uType == IMAGE_BITMAP) { BITMAP bmp; GetObjectA (handle, sizeof(BITMAP), &bmp); + + /* To match windows behavior, if cx is set to zero and + the flag DI_DEFAULTSIZE is specified, cx becomes the + system metric value for icons. If the flag is not specified + the function sets the size to the height of the bitmap */ + if (cx == 0) + { + if (uFlags & DI_DEFAULTSIZE) + cx = GetSystemMetrics (SM_CXICON); + else + cx = bmp.bmHeight; + } + nImageCount = bmp.bmWidth / cx; himl = ImageList_Create (cx, bmp.bmHeight, ILC_MASK | ILC_COLOR,