http://bugs.winehq.org/show_bug.cgi?id=18578
Summary: Wine reverses big/small icon resources in WM_SETICON Product: Wine Version: 1.1.21 Platform: PC-x86-64 OS/Version: Linux Status: UNCONFIRMED Severity: trivial Priority: P2 Component: user32 AssignedTo: wine-bugs@winehq.org ReportedBy: emwine@earthlink.net
Created an attachment (id=21241) --> (http://bugs.winehq.org/attachment.cgi?id=21241) Testcase binary and source (VC 6.0 command line for compiling at end of c file)
This could be two bugs, could be one-- I'm not sure. This occurs both in WM_SETICON, and also when registering a WNDCLASS structure with RegisterClassEx().
When calling WM_SETICON, wParam indicates whether or not to use the big or small resource. (ICON_BIG, or ICON_SMALL). Windows reverses these, Wine doesn't. Running the testcase:
Windows: icon, then press 'b': get 16x16 IDI_ICON icon, then press 's': get scaled 32x32 IDI_ICON
Wine: wine icon, then press 'b': get scaled 32x32 IDI_ICON wine icon, then press 's': nothing at all
For Wine, you may have to hit 'b' a few times, even restarting the app before it works-- I don't know why it's flaky.
I noticed this problem because I had ugly icons in my MFC MDI app in Wine, and realized it was scaling the 32x32 resource instead of using the 16x16 one. When writing the app, I noticed that CWnd::SetIcon(HICON, BOOL bBig) reversed the 2nd parameter in reality. Probably Wine just went by the docs and nobody noticed the docs are reversed from reality.
The other issue that may in fact be the same bug is that the WNDCLASS structure's icons are reversed as well. I'm thinking it's the same windows bug responsible for the reversal with the documentation manifesting itself in multiple places. So it's entirely possible it's just one issue in Wine also since Wine doesn't reverse them. Running the testcase again:
Windows: icon: IDI_APPLICATION used (hIconSm) icon foo: IDI_QUESTION used (hIconSm)
Wine: wine icon: IDI_QUESTION used (hIcon) wine icon foo: IDI_APPLICATION used (hIcon)
There's also a question of what happens when you use hInstance instead of NULL in the LoadIcon() calls, but this bug isn't dealing with that problem.
http://bugs.winehq.org/show_bug.cgi?id=18578
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, testcase
http://bugs.winehq.org/show_bug.cgi?id=18578
Jerome Leclanche adys.wh@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |adys.wh@gmail.com
--- Comment #1 from Jerome Leclanche adys.wh@gmail.com 2011-03-30 22:30:44 CDT --- Looks fine in wine-1.3.16.
http://bugs.winehq.org/show_bug.cgi?id=18578
--- Comment #2 from Jerome Leclanche adys.wh@gmail.com 2011-03-30 22:33:24 CDT --- Scratch that, wasn't a clean wineprefix. Doesn't seem to work on vanilla wine.
http://bugs.winehq.org/show_bug.cgi?id=18578
Bruno Jesus 00cpxxx@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW CC| |00cpxxx@gmail.com Ever Confirmed|0 |1
--- Comment #3 from Bruno Jesus 00cpxxx@gmail.com 2011-10-09 13:45:16 CDT --- Still present in 1.3.29.
http://bugs.winehq.org/show_bug.cgi?id=18578
Dmitry Timoshkov dmitry@baikal.ru changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Wine reverses big/small |Big/small icon resources in |icon resources in |WM_SETICON get reversed |WM_SETICON |
https://bugs.winehq.org/show_bug.cgi?id=18578
--- Comment #4 from Austin English austinenglish@gmail.com --- I don't get an icon at all in wine-1.7.10-311-gdc27a38
https://bugs.winehq.org/show_bug.cgi?id=18578
--- Comment #5 from Bruno Jesus 00cpxxx@gmail.com --- (In reply to Austin English from comment #4)
I don't get an icon at all in wine-1.7.10-311-gdc27a38
Indeed, only 'b' is working and is still wrong in wine 1.7.42.
https://bugs.winehq.org/show_bug.cgi?id=18578
super_man@post.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |super_man@post.com
--- Comment #6 from super_man@post.com --- b works, s doesnt
wine 1.9