https://bugs.winehq.org/show_bug.cgi?id=43177
Bug ID: 43177 Summary: Classic Shell 4.3.0 needs dwmapi.dll.DwmGetColorizationColor semi-stub/implementation Product: Wine Version: 2.10 Hardware: x86 URL: http://www.classicshell.net/downloads/ OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: dwmapi Assignee: wine-bugs@winehq.org Reporter: the.ideals@gmail.com Distribution: ---
Created attachment 58443 --> https://bugs.winehq.org/attachment.cgi?id=58443 wine log
Classic Shell 4.3.0 installs and then crashes on attempts to run ClassicStartMenu.exe.
1923.012:0008:002f:Call dwmapi.DwmGetColorizationColor(0074e1f4,7e2fdb00) ret=100937d0 1923.012:0008:002f:fixme:dwmapi:DwmGetColorizationColor (0x74e1f4, 2117065472) stub 1923.012:0008:002f:Ret dwmapi.DwmGetColorizationColor() retval=80004001 ret=100937d0 1923.012:0008:002f:trace:ntdll:NtQueryInformationProcess (0xffffffff,0x00000022,0x74de9c,0x00000004,(nil)) 1923.012:0008:002f:trace:seh:raise_exception code=c0000005 flags=0 addr=0x74e278 ip=0074e278 tid=002f 1923.012:0008:002f:trace:seh:raise_exception info[0]=00000008 1923.012:0008:002f:trace:seh:raise_exception info[1]=0074e278 1923.012:0008:002f:trace:seh:raise_exception eax=80004001 ebx=00000000 ecx=0074e278 edx=0074eb44 esi=7e21174c edi=ffffffff 1923.012:0008:002f:trace:seh:raise_exception ebp=00000100 esp=0074e21c cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00210216 1923.012:0008:002f:trace:seh:call_stack_handlers calling handler at 0x100e5c40 code=c0000005 flags=0
MSDN: https://msdn.microsoft.com/en-us/library/windows/desktop/aa969513(v=vs.85).a...
https://source.winehq.org/git/wine.git/blob/HEAD:/dlls/dwmapi/dwmapi_main.c#...
sha1sum ClassicShellSetup_4_3_0.exe a6b06d07fe3b1a7204b1b62c67fbf3c602385364 ClassicShellSetup_4_3_0.exe
du -sh ClassicShellSetup_4_3_0.exe 6.9M ClassicShellSetup_4_3_0.exe
https://bugs.winehq.org/show_bug.cgi?id=43177
John the.ideals@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download
https://bugs.winehq.org/show_bug.cgi?id=43177
Louis Lenders xerox.xerox2000x@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |xerox.xerox2000x@gmail.com
--- Comment #1 from Louis Lenders xerox.xerox2000x@gmail.com --- Created attachment 59294 --> https://bugs.winehq.org/attachment.cgi?id=59294 hack
Confirming the crash.
I doubt if the cause of the crash is DwmGetColorizationColor being a stub though 0033:Call KERNEL32.GetModuleHandleW(100f8ea4 L"dwmapi.dll") ret=100937b0 0033:Ret KERNEL32.GetModuleHandleW() retval=7e270000 ret=100937b0 0033:Call KERNEL32.GetProcAddress(7e270000,0000007f) ret=100937c1 0033:Ret KERNEL32.GetProcAddress() retval=7e271fcc ret=100937c1 0033:Call dwmapi.DwmGetColorizationColor(0074e1f4,7e1c7b00) ret=100937d0 0033:fixme:dwmapi:DwmGetColorizationColor (0x74e1f4, 2115795712) stub 0033:Ret dwmapi.DwmGetColorizationColor() retval=80004001 ret=100937d0 0033:trace:seh:raise_exception code=c0000005 flags=0 addr=0x74e278 ip=0074e278 tid=0033 0033:trace:seh:raise_exception info[0]=00000001
The program looks for ordinal 0x7f (127). This seems to be undocumented function DwmpGetColorizationParameters. I don`t really get why wine still returns a functionpointer??? Anyone can explain me?
The hack attached makes the crash go away. The program goes a little bit further but nothing really seems to happen. Is a menu supposed to appear or so?
https://bugs.winehq.org/show_bug.cgi?id=43177
--- Comment #2 from Nikolay Sivov bunglehead@gmail.com --- (In reply to Louis Lenders from comment #1)
Created attachment 59294 [details] hack
Confirming the crash.
I doubt if the cause of the crash is DwmGetColorizationColor being a stub though 0033:Call KERNEL32.GetModuleHandleW(100f8ea4 L"dwmapi.dll") ret=100937b0 0033:Ret KERNEL32.GetModuleHandleW() retval=7e270000 ret=100937b0 0033:Call KERNEL32.GetProcAddress(7e270000,0000007f) ret=100937c1 0033:Ret KERNEL32.GetProcAddress() retval=7e271fcc ret=100937c1 0033:Call dwmapi.DwmGetColorizationColor(0074e1f4,7e1c7b00) ret=100937d0 0033:fixme:dwmapi:DwmGetColorizationColor (0x74e1f4, 2115795712) stub 0033:Ret dwmapi.DwmGetColorizationColor() retval=80004001 ret=100937d0 0033:trace:seh:raise_exception code=c0000005 flags=0 addr=0x74e278 ip=0074e278 tid=0033 0033:trace:seh:raise_exception info[0]=00000001
The program looks for ordinal 0x7f (127). This seems to be undocumented function DwmpGetColorizationParameters. I don`t really get why wine still returns a functionpointer??? Anyone can explain me?
If you don't explicitly assign ordinal in spec file, some export can still get this ordinal.
The hack attached makes the crash go away. The program goes a little bit further but nothing really seems to happen. Is a menu supposed to appear or so?
https://bugs.winehq.org/show_bug.cgi?id=43177
Louis Lenders xerox.xerox2000x@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Summary|Classic Shell 4.3.0 needs |ClassicStartMenu from |dwmapi.dll.DwmGetColorizati |Classic Shell 4.3.0 crashes |onColor |instantly |semi-stub/implementation | Status|UNCONFIRMED |NEW
--- Comment #3 from Louis Lenders xerox.xerox2000x@gmail.com --- I don`t really get why wine still
returns a functionpointer??? Anyone can explain me?
If you don't explicitly assign ordinal in spec file, some export can still get this ordinal.
Ok , thanks for explaining Nicolai. I change title of bug a bit.
https://bugs.winehq.org/show_bug.cgi?id=43177
--- Comment #4 from John the.ideals@gmail.com --- Created attachment 59301 --> https://bugs.winehq.org/attachment.cgi?id=59301 ClassicStartMenu settings
(In reply to Louis Lenders from comment #1)
I doubt if the cause of the crash is DwmGetColorizationColor being a stub though
Thank you for checking that.
The hack attached makes the crash go away. The program goes a little bit further but nothing really seems to happen. Is a menu supposed to appear or so?
On Windows 7, the existing Start Menu is replaced with the Classic Shell Menu. I'm unable to test the hack but running ClassicStartMenu.exe -settings should show the attached menu.
https://bugs.winehq.org/show_bug.cgi?id=43177
--- Comment #5 from John the.ideals@gmail.com --- Source: https://github.com/coddec/Classic-Shell
https://github.com/coddec/Classic-Shell/blob/9876dc8c6f6f784d1f5810ebc4a8c11...
HACK: the system function DwmGetColorizationColor is buggy on Win 7. its calculations can overflow and return a totally wrong value (try orange color with full intensity and no transparency - you'll get alpha=0 and green color). so here we use the undocumented function GetColorizationParameters exported by dwmapi.dll, ordinal 127 and then compute the colors manually using integer math
https://bugs.winehq.org/show_bug.cgi?id=43177
Louis Lenders xerox.xerox2000x@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |source Summary|ClassicStartMenu from |ClassicStartMenu from |Classic Shell 4.3.0 crashes |Classic Shell 4.3.0 crashes |instantly |on unimplemeted dwmapi.127 | |(undocumented | |DwmpGetColorizationParamete | |rs)
--- Comment #6 from Louis Lenders xerox.xerox2000x@gmail.com --- filled some fields + info
https://bugs.winehq.org/show_bug.cgi?id=43177
Gijs Vermeulen gijsvrm@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|ClassicStartMenu from |ClassicStartMenu from |Classic Shell 4.3.0 crashes |Classic Shell 4.3.0 crashes |on unimplemeted dwmapi.127 |on unimplemented function |(undocumented |dwmapi.127 (undocumented |DwmpGetColorizationParamete |DwmpGetColorizationParamete |rs) |rs)
https://bugs.winehq.org/show_bug.cgi?id=43177
Alex Henrie alexhenrie24@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |32f3918108e1fa911bc3e28f735 | |0940aa56b7b0b Resolution|--- |FIXED CC| |alexhenrie24@gmail.com Status|NEW |RESOLVED
--- Comment #7 from Alex Henrie alexhenrie24@gmail.com --- Fixed by https://source.winehq.org/git/wine.git/commitdiff/32f3918108e1fa911bc3e28f73...
https://bugs.winehq.org/show_bug.cgi?id=43177
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #8 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 3.19.