[Bug 47076] LoadImage with option LR_SHARED and specified resolution does loading only that icon resolution , skipping others

wine-bugs at winehq.org wine-bugs at winehq.org
Sun Apr 28 21:19:47 CDT 2019


https://bugs.winehq.org/show_bug.cgi?id=47076

--- Comment #1 from nikolaysemenkov at gmail.com ---
I checked the code more and found the clear difference in behavior on wine and
windows in LoadImage.
On windows call to LoadImage with LR_SHARED having resolution 0,0 returns the
icon bitmap of previous call to LoadImage with LR_SHARED having resolution NOT
0,0
ie:
LoadImage(HInstance, MAKEINTRESOURCE(iIconLarge), IMAGE_ICON, 32, 32,
LR_DEFAULTCOLOR | LR_SHARED);
LoadImage(HInstance, MAKEINTRESOURCE(iIconLarge), IMAGE_ICON, 16, 16,
LR_DEFAULTCOLOR | LR_SHARED);
HICON hIconTest = (HICON)LoadImage(HInstance, MAKEINTRESOURCE(iIconLarge),
IMAGE_ICON, 0, 0, LR_DEFAULTCOLOR | LR_SHARED);

// Print the icon resolution:
   ICONINFO iconInfo;
   if (GetIconInfo(hIconTest, &iconInfo)) {
      BITMAP BMInf;
      GetObject(iconInfo.hbmColor, sizeof(BMInf), &BMInf);
      printf("xxxxxxxxxxxxxxx result: %d %d", BMInf.bmWidth, BMInf.bmHeight);
   }

Last call on windows returns the icon handle with sizes of 16x16 and  on wine
it is 32x32.

Even on windows result of LoadImage with LR_SHARED and resolution 0,0 looks
unexpected because it returns the icon handle with bitmap of previously used
resolution.

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list