https://bugs.winehq.org/show_bug.cgi?id=48233
Bug ID: 48233 Summary: In a 64-bit app, GetSyscolor(COLOR_BTNSHADOW) returns a darker value than on windows Product: Wine Version: 3.6 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: gdi32 Assignee: wine-bugs@winehq.org Reporter: ryampolsky@yahoo.com Distribution: ---
Created attachment 65879 --> https://bugs.winehq.org/attachment.cgi?id=65879 Screenshot, showing shadow drawn with GetSysColor(COLOR_BTNSHADOW)
I recently converted my 32-bit app to 64-bits, and when I run either the 32-bit version or the 64-bit version under a wine64 WINEPREFIX, the only difference I notice is the value returned by GetSyscolor(COLOR_BTNSHADOW). On Windows in both the WIN32 and WIN64 versions of my app, it returns 0xa0a0a0, but on WINE64, it returns 0x4c4c4c.
On WINE, I'm using the Ubuntu Light theme. With that theme in effect, on WINE32, GetSysColor(COLOR_BTNSHADOW) returns 0xa5a9ad. But on WINE64, both the WIN32 and WIN64 versions get 0x4c4c4c. So the shadow looks too dark. Again, the WIN32 exe gets the right color under WINE32, but the same wrong color as the WIN64 exe under WINE64 - which is why I think it's a WINE64 bug and not my app.
Everything else seems to look the same between WINE32 and WINE64.
The attached screenshot shows the About dialog from my app. There's a 3D frame around the logo at the top - BTNSHADOW on top and left, BTNHIGHLIGHT on bottom and right. The text below it shows that this is the X64 version of the app, and prints out the value returned by GetSysColor(COLOR_BTNSHADOW).