https://bugs.winehq.org/show_bug.cgi?id=39637
Bug ID: 39637 Summary: Samsung TV SDK 3.5.2 (MFC MDI app) crashes on startup Product: Wine Version: 1.8-rc1 Hardware: x86-64 OS: Linux Status: NEW Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: focht@gmx.net Distribution: ---
Hello folks,
encountered during investigation of bug 32414
The installer provides the following prerequisites:
* MS .NET Framework 2.0 (will be installed if Wine-Mono not present) * Microsoft Visual C++ 2010 x86 Redistributable (optional)
Part of main install:
* Apache HTTP server 2.0 (optional, make sure to select non-port 80 config option)
--- snip --- $ pwd /home/focht/.wine/drive_c/Program Files/Samsung/Samsung TV SDK(3.5.2)/Bin
$ WINEDEBUG=+tid,+seh,+relay,+win,+msg,+actctx,+server wine ./Samsung\ TV\ SDK.exe >>log.txt 2>&1 ... 0009:trace:actctx:get_manifest_in_module looking for res #0001 in module 0x400000 L"C:\Program Files\Samsung\Samsung TV SDK(3.5.2)\Bin\Samsung TV SDK.exe" ... 0009:warn:actctx:parse_assembly_identity_elem Unsupported yet language attribute (L"*") 0009:trace:actctx:parse_assembly_identity_elem name=L"Microsoft.Windows.Common-Controls" version=6.0.0.0 arch=L"x86" ... 0009:trace:actctx:parse_dependent_assembly_elem adding name=L"Microsoft.Windows.Common-Controls" version=6.0.0.0 arch=L"x86" ... 0009:trace:actctx:lookup_assembly looking for name=L"Microsoft.Windows.Common-Controls" version=6.0.0.0 arch=L"x86" ... 0009:trace:actctx:get_manifest_in_manifest_file loading manifest file L"\??\C:\windows\winsxs\manifests\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.2600.2982_none_deadbeef.manifest" ... 0009:trace:actctx:parse_manifest parsing manifest loaded from L"\??\C:\windows\winsxs\manifests\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.2600.2982_none_deadbeef.manifest" base dir L"x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.2600.2982_none_deadbeef" ... 0009:trace:actctx:parse_assembly_identity_elem name=L"Microsoft.Windows.Common-Controls" version=6.0.2600.2982 arch=L"x86" ... 0009:trace:actctx:parse_file_elem name=L"comctl32.dll" ... 0009:trace:actctx:RtlActivateActivationContext 0x116448 cookie=115e98 ... 0009:trace:actctx:RtlFindActivationContextSectionString 00000001 (null) 2 L"mfc100u.dll" 0xff9012d8 ... 0009:Call KERNEL32.CreateActCtxW(0033f7ec) ret=78720974 0009:trace:actctx:CreateActCtxW 0x33f7ec 00000088 0009:trace:actctx:RtlCreateActivationContext 0x33f7ec 00000088 0009:trace:actctx:get_manifest_in_module looking for res #0002 in module 0x785f0000 L"C:\Program Files\Samsung\Samsung TV SDK(3.5.2)\Bin\mfc100u.dll" 0009:trace:actctx:get_manifest_in_associated_manifest looking for manifest associated with (null) id 2 0009:Ret KERNEL32.CreateActCtxW() retval=ffffffff ret=78720974 0009:Call KERNEL32.CreateActCtxW(0033f7ec) ret=78720992 0009:trace:actctx:CreateActCtxW 0x33f7ec 00000088 0009:trace:actctx:RtlCreateActivationContext 0x33f7ec 00000088 0009:trace:actctx:get_manifest_in_module looking for res #0003 in module 0x785f0000 L"C:\Program Files\Samsung\Samsung TV SDK(3.5.2)\Bin\mfc100u.dll" 0009:trace:actctx:get_manifest_in_associated_manifest looking for manifest associated with (null) id 3 0009:Ret KERNEL32.CreateActCtxW() retval=ffffffff ret=78720992 0009:Call KERNEL32.CreateActCtxW(0033f7ec) ret=787209b4 0009:trace:actctx:CreateActCtxW 0x33f7ec 00000088 0009:trace:actctx:RtlCreateActivationContext 0x33f7ec 00000088 0009:trace:actctx:get_manifest_in_module looking for res #0001 in module 0x785f0000 L"C:\Program Files\Samsung\Samsung TV SDK(3.5.2)\Bin\mfc100u.dll" 0009:trace:actctx:get_manifest_in_associated_manifest looking for manifest associated with (null) id 1 0009:Ret KERNEL32.CreateActCtxW() retval=ffffffff ret=787209b4 ... 0009:Call KERNEL32.ActivateActCtx(00171e80,0033e5a4) ret=78664d19 0009:trace:actctx:RtlActivateActivationContext 0x171e80 cookie=19f130 0009:Ret KERNEL32.ActivateActCtx() retval=00000001 ret=78664d19 0009:Call user32.GetClassInfoW(00400000,785f926c L"MFCButton",0033e5ec) ret=78664d36 0009:Ret user32.GetClassInfoW() retval=00000000 ret=78664d36 0009:Call KERNEL32.GetLastError() ret=78664d62 0009:Ret KERNEL32.GetLastError() retval=00000583 ret=78664d62 0009:Call KERNEL32.DeactivateActCtx(00000000,0019f130) ret=78664d73 0009:trace:actctx:RtlDeactivateActivationContext 0 cookie=19f130 0009:Ret KERNEL32.DeactivateActCtx() retval=00000001 ret=78664d73 0009:Call KERNEL32.ActivateActCtx(00171e80,0033e5ac) ret=78830030 0009:trace:actctx:RtlActivateActivationContext 0x171e80 cookie=19f130 0009:Ret KERNEL32.ActivateActCtx() retval=00000001 ret=78830030 0009:Call user32.RegisterClassW(0033e638) ret=78830047 0009: create_class( local=1, atom=0000, style=0000008b, instance=00400000, extra=0, win_extra=12, client_ptr=00dabd48, name=L"MFCButton" ) 0009: create_class() = 0 { atom=c097 } 0009:trace:win:alloc_winproc reusing 0xffff0000 for 0x7ebfcbf8 0009:Ret user32.RegisterClassW() retval=0000c097 ret=78830047 0009:Call KERNEL32.DeactivateActCtx(00000000,0019f130) ret=78830089 0009:trace:actctx:RtlDeactivateActivationContext 0 cookie=19f130 0009:Ret KERNEL32.DeactivateActCtx() retval=00000001 ret=78830089 ... 0009:trace:win:WIN_CreateWindowEx L"Add" L"MfcButton" ex=00000004 style=50010000 311,0 75x21 parent=0x1010a menu=0x413 inst=0x770000 params=(nil) 0009:trace:win:dump_window_styles style: WS_CHILD WS_VISIBLE WS_TABSTOP 0009:trace:win:dump_window_styles exstyle: WS_EX_NOPARENTNOTIFY 0009: create_window( parent=0001010a, owner=00000000, atom=0000, instance=00770000, class=L"MfcButton" ) 0009: create_window() = INVALID_HANDLE { handle=00000000, parent=00000000, owner=00000000, extra=0, class_ptr=00000000 } 0009:warn:win:create_window_handle error 6 creating window 0009:trace:win:DestroyWindow (0x1010a) ... 0009:trace:seh:raise_exception code=c0000005 flags=0 addr=0x669aee ip=00669aee tid=0009 0009:trace:seh:raise_exception info[0]=00000001 0009:trace:seh:raise_exception info[1]=00505d55 0009:trace:seh:raise_exception eax=00505d55 ebx=00000000 ecx=00669ae8 edx=00669ae8 esi=00669ae8 edi=00600fe0 0009:trace:seh:raise_exception ebp=00669ae8 esp=0033fb38 cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00010206 0015:Call winex11.drv.MsgWaitForMultipleObjectsEx(00000001,0033f738,ffffffff,000004ff,00000000) ret=7ebb7ef8 0009:trace:seh:call_stack_handlers calling handler at 0x55255f code=c0000005 flags=0 0009:trace:seh:call_stack_handlers handler at 0x55255f returned 1 0009:trace:seh:call_stack_handlers calling handler at 0x536669 code=c0000005 flags=0 ... Unhandled exception: page fault on write access to 0x00505d55 in 32-bit code (0x00669aee). ... Backtrace: =>0 0x00669aee (0x00669ae8) 1 0x00660128 (0x00759503) Modules: Module Address Debug info Name (97 modules) PE 340000- 357000 Deferred nicharacter PE 400000- 653000 Deferred samsung tv sdk PE 770000- 89c000 Deferred samsungtvsdkresenu PE 8a0000- 959000 Deferred sourceeditor PE 1120000- 1174000 Deferred emulatoripc PE 10000000-10086000 Deferred niparser PE 5d360000-5d36d000 Deferred mfc100enu PE 63000000-6303c000 Deferred namoxml PE 785f0000-78a22000 Deferred mfc100u ELF 7b800000-7ba73000 Deferred kernel32<elf> -PE 7b820000-7ba73000 \ kernel32 ELF 7bc00000-7bd07000 Deferred ntdll<elf> -PE 7bc30000-7bd07000 \ ntdll ... Threads: process tid prio (all id:s are in hex) ... 00000008 (D) C:\Program Files\Samsung\Samsung TV SDK(3.5.2)\Bin\Samsung TV SDK.exe 0000002d 0 0000002c 0 00000009 0 <== --- snip ---
The failing part:
--- snip --- Wine-dbg>bt
Backtrace: =>0 0x7ebf63c8 create_window_handle+0xed(parent=0x1010a, owner=(nil), name="MfcButton", instance=0x770000, unicode=0x1) [/home/focht/projects/wine/wine.repo/src/dlls/user32/win.c:210] in user32 (0x0033e008) 1 0x7ebf9ca1 WIN_CreateWindowEx+0x6aa(cs=0x33e250, className="MfcButton", module=0x770000, unicode=0x1) [/home/focht/projects/wine/wine.repo/src/dlls/user32/win.c:1448] in user32 (0x0033e238) 2 0x7ebfac2c CreateWindowExW+0x7d(exStyle=0x4, className="MfcButton", windowName="Add", style=0x50010000, x=0x137, y=0, width=0x4b, height=0x15, parent=0x1010a, menu=0x413, instance=0x770000, data=0x0(nil)) [/home/focht/projects/wine/wine.repo/src/dlls/user32/win.c:1750] in user32 (0x0033e288) 3 0x7eb8c47f DIALOG_CreateControls32+0x22b(hwnd=0x1010a, template="", dlgTemplate=0x33e5dc, hInst=0x770000, unicode=0x1) [/home/focht/projects/wine/wine.repo/src/dlls/user32/dialog.c:276] in user32 (0x0033e378) 4 0x7eb8db8d DIALOG_CreateIndirect+0xc08(hInst=0x770000, dlgTemplate=0x8884f8, owner=0x10106, dlgProc=0x787cc257, param=0, unicode=0x1, modal=0) [/home/focht/projects/wine/wine.repo/src/dlls/user32/dialog.c:693] in user32 (0x0033e6b8) 5 0x7eb8dea4 CreateDialogIndirectParamAorW+0x45(hInst=0x770000, dlgTemplate=0x8884c4, owner=0x10106, dlgProc=0x787cc257, param=0, flags=0) [/home/focht/projects/wine/wine.repo/src/dlls/user32/dialog.c:763] in user32 (0x0033e6e8) 6 0x7eb8df37 CreateDialogIndirectParamW+0x40(hInst=<couldn't compute location>, dlgTemplate=<couldn't compute location>, owner=<couldn't compute location>, dlgProc=<couldn't compute location>, param=<couldn't compute location>) [/home/focht/projects/wine/wine.repo/src/dlls/user32/dialog.c:781] in user32 (0x0033e718) 7 0x787cc7dc in mfc100u (+0x1dc7db) (0x0033e798) 8 0x787cc65c in mfc100u (+0x1dc65b) (0x0033e7b4) 9 0x787cc608 in mfc100u (+0x1dc607) (0x0033e7d0) 10 0x787cc5bf in mfc100u (+0x1dc5be) (0x0033e7f4) 11 0x0041d952 in samsung tv sdk (+0x1d951) (0x0033e804) 12 0x00487ceb in samsung tv sdk (+0x87cea) (0x0033e870) ... --- snip ---
Earlier (see trace) 'MFCButton' class was registered as 'local' with 0x400000 instance and is now referenced using 0x770000 instance.
--- snip --- 0009: create_class( local=1, atom=0000, style=0000008b, instance=00400000, extra=0, win_extra=12, client_ptr=00dabd48, name=L"MFCButton" ) ... 0009: create_class() = 0 { atom=c097 } --- snip ---
vs.
--- snip --- 0009: create_window( parent=0001010a, owner=00000000, atom=0000, instance=00770000, class=L"MfcButton" ) ... 0009: create_window() = INVALID_HANDLE { handle=00000000, parent=00000000, owner=00000000, extra=0, class_ptr=00000000 } 0009:warn:win:create_window_handle error 6 creating window --- snip ---
Wineserver behaviour seems correct here, it's more likely something went wrong earlier. Needs further investigation.
$ sha1sum [2012]Samsung_TV_SDK_Setup(3.5.2).zip 2697937103c00013cba6c3687dcc1d5295e9b32c [2012]Samsung_TV_SDK_Setup(3.5.2).zip
$ du -sh [2012]Samsung_TV_SDK_Setup(3.5.2).zip 286M [2012]Samsung_TV_SDK_Setup(3.5.2).zip
$ wine --version wine-1.8-rc1
Regards
https://bugs.winehq.org/show_bug.cgi?id=39637
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download URL| |https://www.samsungdforum.c | |om/devtools/sdkdownload
https://bugs.winehq.org/show_bug.cgi?id=39637
--- Comment #1 from Dmitry Timoshkov dmitry@baikal.ru --- Could this be related to an activation context window class redirection?
https://bugs.winehq.org/show_bug.cgi?id=39637
--- Comment #2 from Anastasius Focht focht@gmx.net --- Hello Dmitry,
--- quote --- Could this be related to an activation context window class redirection? --- quote ---
I considered it initially hence I included +actctx but later not so sure. It's either the window class "locality" or the instance handle where it goes wrong. It would help if someone could install/run the app on Windows and use Spy++/Winspector tool to dump the 'MfcButton' window class properties.
Regards
https://bugs.winehq.org/show_bug.cgi?id=39637
--- Comment #3 from Dmitry Timoshkov dmitry@baikal.ru --- Created attachment 52856 --> https://bugs.winehq.org/attachment.cgi?id=52856 Add CS_GLOBALCLASS to "Button" user32 class
The problem is that "MFCButton" window class is based on "Button" user32 class, and the application does GetClassInfo("Button") first and uses returned data as a template, including the class style. Currenly user32 control's classes are missing the CS_GLOBALCLASS bit. Adding CS_GLOBALCLASS to "Button" user32 class makes the application start.
https://bugs.winehq.org/show_bug.cgi?id=39637
--- Comment #4 from Dmitry Timoshkov dmitry@baikal.ru --- (In reply to Dmitry Timoshkov from comment #3)
Created attachment 52856 [details] Add CS_GLOBALCLASS to "Button" user32 class
The problem is that "MFCButton" window class is based on "Button" user32 class, and the application does GetClassInfo("Button") first and uses returned data as a template, including the class style. Currenly user32 control's classes are missing the CS_GLOBALCLASS bit. Adding CS_GLOBALCLASS to "Button" user32 class makes the application start.
There are already the tests showing that GetClassInfo() for user32 classes should not set CS_GLOBALCLASS bit. But the application wraps GetClassInfo() call by ActivateActCtx()/DeactivateActCtx(), probably that makes it behave differently.
https://bugs.winehq.org/show_bug.cgi?id=39637
--- Comment #5 from Dmitry Timoshkov dmitry@baikal.ru --- (In reply to Dmitry Timoshkov from comment #4)
There are already the tests showing that GetClassInfo() for user32 classes should not set CS_GLOBALCLASS bit. But the application wraps GetClassInfo() call by ActivateActCtx()/DeactivateActCtx(), probably that makes it behave differently.
That activation context belongs to comctl32.dll, probably comctl32 registers the "Button" class with CS_GLOBALCLASS.
https://bugs.winehq.org/show_bug.cgi?id=39637
--- Comment #6 from Dmitry Timoshkov dmitry@baikal.ru --- (In reply to Dmitry Timoshkov from comment #5)
That activation context belongs to comctl32.dll, probably comctl32 registers the "Button" class with CS_GLOBALCLASS.
I've sent a test that confirms this.
https://bugs.winehq.org/show_bug.cgi?id=39637
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |comctl32 Summary|Samsung TV SDK 3.5.2 (MFC |Samsung TV SDK 3.5.2 (MFC |MDI app) crashes on startup |MDI app) crashes on startup | |('comctl32' needs to | |register builtin 'Button' | |class with | |'CS_GLOBALCLASS')
--- Comment #7 from Anastasius Focht focht@gmx.net --- Hello Dmitry,
thanks for the analysis.
I found the activation context dependent behaviour you described also mentioned here:
http://www.geoffchappell.com/studies/windows/shell/comctl32/controls/ (Geoff Chappell about Common Controls)
--- quote --- ... Note that in version 6.00 and higher, COMCTL32 re-implements some of the built-in controls. The implementations in USER32 remain. Both implementations use the same class names. Whether a given control is implemented through COMCTL32 or USER32 depends on the current activation context when the control is created. The affected controls are:
Button, ComboBox, ComboLBox, Edit, ListBox, ScrollBar and Static
The ComboLBox control is obscure. Microsoft documents it as being “available only for use by the system” (yet MSHTML knows of it, admittedly to subclass an existing control, not to create one). The ComboLBox control is essentially a ListBox, with the same window procedure but different class styles, intended to exist only as a child of a ComboBox.
Redirection of window classes according to the current activation context is supported by USER32 in Windows XP and higher. Part of the feature is that any module, such as COMCTL32.DLL, that implements window classes can declare its support through an assembly manifest. If a window cannot be created because the requested class is not yet registered, but the class is supported by the module associated with the current activation context, then USER32 can call that module to get the class registered, and then retry the window creation. The module must export a function named RegisterClassNameW. COMCTL32 does this in versions 5.82 and 6.0 from Windows XP SP2, but not Windows XP SP3, and higher, with the effect that InitCommonControlsEx becomes unnecessary.
Version 6.10 takes this one step further. The ImageDrag control, new for version 6.10, is outside the machinery of InitCommonControlsEx. Its class name can only be registered through RegisterClassNameW. However, the only use known at present is internal, for COMCTL32 to enhance image lists. --- quote ---
Regards
https://bugs.winehq.org/show_bug.cgi?id=39637
--- Comment #8 from Dmitry Timoshkov dmitry@baikal.ru --- It's worth to note that it's not the application that depends on this, but mfc100u.dll. This means that probably any application that uses MFC is affected.
https://bugs.winehq.org/show_bug.cgi?id=39637
--- Comment #9 from Nikolay Sivov bunglehead@gmail.com --- (In reply to Anastasius Focht from comment #7)
Redirection of window classes according to the current activation context is supported by USER32 in Windows XP and higher. Part of the feature is that any module, such as COMCTL32.DLL, that implements window classes can declare its support through an assembly manifest. If a window cannot be created because the requested class is not yet registered, but the class is supported by the module associated with the current activation context, then USER32 can call that module to get the class registered, and then retry the window creation. The module must export a function named RegisterClassNameW. COMCTL32 does this in versions 5.82 and 6.0 from Windows XP SP2, but not Windows XP SP3, and higher, with the effect that InitCommonControlsEx becomes unnecessary.
Right, RegisterClassNameW is not longer used, versioned classes have to be registered on dll initialization. Button is actually not a bad case to start working on this, I believe it's best to duplicate button.c, and extend it with new styles and messages, and of course theme_button.c disaster has to go away.
https://bugs.winehq.org/show_bug.cgi?id=39637
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Samsung TV SDK 3.5.2 (MFC |Applications using MFC |MDI app) crashes on startup |'MFCButton' class based on |('comctl32' needs to |Common Controls 6+ 'Button' |register builtin 'Button' |class don't work |class with |('comctl32' needs to |'CS_GLOBALCLASS') |register builtin 'Button' | |class with | |'CS_GLOBALCLASS')(Samsung | |TV SDK 3.5.2)
--- Comment #10 from Anastasius Focht focht@gmx.net --- Hello Dmitry,
--- quote --- It's worth to note that it's not the application that depends on this, but mfc100u.dll. This means that probably any application that uses MFC is affected. --- quote ---
yes for sure. I already thought about the impact when reading the analysis. Refining the summary to reflect this.
Regards
https://bugs.winehq.org/show_bug.cgi?id=39637
super_man@post.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |super_man@post.com
https://bugs.winehq.org/show_bug.cgi?id=39637
--- Comment #11 from Nikolay Sivov bunglehead@gmail.com --- Hi, Anastasius.
Could you please retest this if you still have the installer? I don't see it on their website anymore.
This should work now, if comctl32 is loaded while context is activated already. If their code depends on ability to load both modules, we can pull additional export call to trigger registration later.
https://bugs.winehq.org/show_bug.cgi?id=39637
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |5d10abde503fc4a952c114c658f | |ed74f97bff090 Resolution|--- |FIXED Status|NEW |RESOLVED
--- Comment #12 from Anastasius Focht focht@gmx.net --- Hello Nikolay,
--- quote --- Could you please retest this if you still have the installer? I don't see it on their website anymore. --- quote ---
Yeah, that's always the problem with old versions ... they get pulled off the web at one point in time. For that reason I keep all binaries/installers/log files needed to reproduce/revisit the issues in a local git-annex repo.
Confirming, the app works now.
--- snip --- $ pwd /home/focht/.wine/drive_c/Program Files/Samsung/Samsung TV SDK(3.5.2)/Bin
$ WINEDEBUG=+pid,+seh,+relay,+win,+msg,+actctx wine ./Samsung\ TV\ SDK.exe
log.txt 2>&1
... 0032:0033:Call PE DLL (proc=0x7884a40b,module=0x785f0000 L"mfc100u.dll",reason=PROCESS_ATTACH,res=0x33fd24) ... 0032:0033:Call KERNEL32.CreateActCtxW(0033fbbc) ret=787209b4 0032:0033:trace:actctx:CreateActCtxW 0x33fbbc 00000088 0032:0033:trace:actctx:RtlCreateActivationContext 0x33fbbc 00000088 0032:0033:trace:actctx:get_manifest_in_module looking for res #0001 in module 0x400000 L"C:\Program Files\Samsung\Samsung TV SDK(3.5.2)\Bin\Samsung TV SDK.exe" 0032:0033:trace:actctx:parse_manifest parsing manifest loaded from (null) base dir (null) 0032:0033:trace:actctx:parse_assembly_elem (0x33f9ac) 0032:0033:warn:actctx:parse_assembly_identity_elem Unsupported yet language attribute (L"*") 0032:0033:trace:actctx:parse_assembly_identity_elem name=L"Microsoft.Windows.Common-Controls" version=6.0.0.0 arch=L"x86" 0032:0033:trace:actctx:parse_dependent_assembly_elem adding name=L"Microsoft.Windows.Common-Controls" version=6.0.0.0 arch=L"x86" 0032:0033:warn:actctx:parse_assembly_elem unknown element L"trustInfo" 0032:0033:warn:actctx:parse_assembly_elem unknown element L"application" 0032:0033:trace:actctx:lookup_assembly looking for name=L"Microsoft.Windows.Common-Controls" version=6.0.0.0 arch=L"x86" 0032:0033:trace:actctx:get_manifest_in_manifest_file loading manifest file L"\??\C:\windows\winsxs\manifests\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.2600.2982_none_deadbeef.manifest" 0032:0033:trace:actctx:parse_manifest parsing manifest loaded from L"\??\C:\windows\winsxs\manifests\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.2600.2982_none_deadbeef.manifest" base dir L"x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.2600.2982_none_deadbeef" 0032:0033:trace:actctx:parse_assembly_elem (0x33f86c) 0032:0033:trace:actctx:parse_assembly_identity_elem name=L"Microsoft.Windows.Common-Controls" version=6.0.2600.2982 arch=L"x86" 0032:0033:trace:actctx:parse_file_elem name=L"comctl32.dll" 0032:0033:Ret KERNEL32.CreateActCtxW() retval=0016c778 ret=787209b4 ... 0032:0033:Call KERNEL32.ActivateActCtx(0016c778,0033e634) ret=7882ff42 0032:0033:trace:actctx:RtlActivateActivationContext 0x16c778 cookie=d3cff0 0032:0033:Ret KERNEL32.ActivateActCtx() retval=00000001 ret=7882ff42 0032:0033:Call comctl32.InitCommonControlsEx(0033e688) ret=7882ff72 0032:0033:Ret comctl32.InitCommonControlsEx() retval=00000001 ret=7882ff72 ... 0032:0033:Call KERNEL32.ActivateActCtx(0016c778,0033e63c) ret=78664d19 0032:0033:trace:actctx:RtlActivateActivationContext 0x16c778 cookie=d3cff0 0032:0033:Ret KERNEL32.ActivateActCtx() retval=00000001 ret=78664d19 0032:0033:Call user32.GetClassInfoW(00400000,785f925c L"Button",0033e678) ret=78664d36 0032:0033:trace:actctx:RtlFindActivationContextSectionString 00000000 (null) 3 L"Button" 0x33e488 0032:0033:Ret user32.GetClassInfoW() retval=0000c046 ret=78664d36 ... 0032:0033:Call user32.GetClassInfoW(00400000,785f926c L"MFCButton",0033e62c) ret=78664d36 0032:0033:trace:actctx:RtlFindActivationContextSectionString 00000000 (null) 3 L"MFCButton" 0x33e428 0032:0033:Ret user32.GetClassInfoW() retval=00000000 ret=78664d36 0032:0033:Call KERNEL32.GetLastError() ret=78664d62 0032:0033:Ret KERNEL32.GetLastError() retval=00000583 ret=78664d62 ... 0032:0033:Call KERNEL32.ActivateActCtx(0016c778,0033e5ec) ret=78830030 0032:0033:trace:actctx:RtlActivateActivationContext 0x16c778 cookie=d3cff0 0032:0033:Ret KERNEL32.ActivateActCtx() retval=00000001 ret=78830030 0032:0033:Call user32.RegisterClassW(0033e678) ret=78830047 0032:0033:trace:actctx:RtlFindActivationContextSectionString 00000000 (null) 3 L"MFCButton" 0x33e478 0032:0033:trace:win:alloc_winproc reusing 0xffff0023 for 0x7e747f5a 0032:0033:Ret user32.RegisterClassW() retval=0000c0a1 ret=78830047 ... 0032:0033:trace:actctx:RtlFindActivationContextSectionString 00000000 (null) 3 L"MfcButton" 0x33df18 0032:0033:trace:win:WIN_CreateWindowEx L"Add" L"MfcButton" ex=00000004 style=50010000 362,0 88x25 parent=0x10132 menu=0x413 inst=0x770000 params=(nil) 0032:0033:trace:win:dump_window_styles style: WS_CHILD WS_VISIBLE WS_TABSTOP 0032:0033:trace:win:dump_window_styles exstyle: WS_EX_NOPARENTNOTIFY 0032:0033:trace:win:WIN_SetWindowLong 0x1013a -12 413 W ... --- snip --
Fixed by commit https://source.winehq.org/git/wine.git/commitdiff/5d10abde503fc4a952c114c658...
Thanks Nikolay
There are still crashes later when interacting with the app though.
$ sha1sum [2012]Samsung_TV_SDK_Setup(3.5.2).exe 12726387592d22b79250d71d365eced477129767 [2012]Samsung_TV_SDK_Setup(3.5.2).exe
$ du -sh [2012]Samsung_TV_SDK_Setup(3.5.2).exe 294M [2012]Samsung_TV_SDK_Setup(3.5.2).exe
$ wine --version wine-3.1-168-g661d11d071
Regards
https://bugs.winehq.org/show_bug.cgi?id=39637
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #13 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 3.2.
https://bugs.winehq.org/show_bug.cgi?id=39637
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL|https://www.samsungdforum.c |https://web.archive.org/web |om/devtools/sdkdownload |/20211121175818/http://djsi | |w1wjy8vi7.cloudfront.net/Ap | |psGuide/SDK/%5B2012%5DSamsu | |ng_TV_SDK_Setup%283.0.b%29. | |zip