http://bugs.winehq.org/show_bug.cgi?id=26028
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW CC| |focht@gmx.net Ever Confirmed|0 |1
--- Comment #5 from Anastasius Focht focht@gmx.net 2011-04-28 05:07:00 CDT --- Hello,
confirming, the problem seems to be a window creation failing.
--- snip --- ... 0023:Call atl.AtlModuleRegisterWndClassInfoA(10022f78,1001f8e0,020a0b00) ret=1000a2d3 0023:fixme:atl:AtlModuleRegisterWndClassInfoA 0x10022f78 0x1001f8e0 0x20a0b00 semi-stub 0023:trace:atl:AtlModuleRegisterWndClassInfoA wci->m_wc.lpszClassName = SECURITYBYBRYANECC 0023:Call user32.GetClassInfoExA(10000000,1001f8c8 "SECURITYBYBRYANECC",0032f0ec) ret=7a86523c 0023:Ret user32.GetClassInfoExA() retval=00000000 ret=7a86523c 0023:Call user32.RegisterClassExA(1001f8e0) ret=7a865255 0023:trace:win:alloc_winproc allocated 0xffff0033 for A 0x1000dae3 (52/4096 used) 0023:Ret user32.RegisterClassExA() retval=0000c062 ret=7a865255 0023:trace:atl:AtlModuleRegisterWndClassInfoA returning 0xc062 0023:Ret atl.AtlModuleRegisterWndClassInfoA() retval=0000c062 ret=1000a2d3 0023:Call atl.AtlModuleAddCreateWndData(10022f78,020a0aec,020a0ae4) ret=1000dc52 0023:trace:atl:AtlModuleAddCreateWndData (0x10022f78, 0x20a0aec, 0x20a0ae4) 0023:Ret atl.AtlModuleAddCreateWndData() retval=10022f78 ret=1000dc52 0023:Call user32.CreateWindowExA(00000000,0000c062,00000000,56000000,00000000,00000000,00000099,00000014,000200b8,020a0ae4,10000000,00000000) ret=1000dc9b 0023:trace:win:WIN_CreateWindowEx (null) #c062 ex=00000000 style=56000000 0,0 153x20 parent=0x200b8 menu=0x20a0ae4 inst=0x10000000 params=(nil) 0023:trace:win:dump_window_styles style: WS_CHILD WS_VISIBLE WS_CLIPSIBLINGS WS_CLIPCHILDREN 0023:trace:win:dump_window_styles exstyle: 0023:warn:win:create_window_handle error 6 creating window 0023:Ret user32.CreateWindowExA() retval=00000000 ret=1000dc9b --- snip ---
By tracing wineserver you come along this:
--- snip --- ... 0023: create_class( local=1, atom=0000, style=0000000b, instance=68330000, extra=0, win_extra=0, client_ptr=01a381b8, name=L"SECURITYBYBRYANECC" ) 0023: create_class() = 0 { atom=c062 } 0023: create_window( parent=000200b8, owner=00000000, atom=c062, instance=10000000, class=L"" ) 0023: create_window() = INVALID_HANDLE { handle=00000000, parent=00000000, owner=00000000, extra=0, class_ptr=00000000 } ... --- snip ---
This instance handle 68330000 seems to be bogus. You have to use the module provided one when creating the window class first time (wci->m_wc.hInstance = pm->m_hInst)
AtlModuleRegisterWndClassInfoA AtlModuleRegisterWndClassInfoW
With that one fixed, the window creation sequence is properly done and app supplied window proc gets called (which in turn calls AtlModuleExtractCreateWndData).
--- snip --- 0021:Call atl.AtlModuleRegisterWndClassInfoA(10022f78,1001f8e0,02161b00) ret=1000a2d3 0021:fixme:atl:AtlModuleRegisterWndClassInfoA 0x10022f78 0x1001f8e0 0x2161b00 semi-stub 0021:trace:atl:AtlModuleRegisterWndClassInfoA wci->m_wc.lpszClassName = SECURITYBYBRYANECC 0021:Call user32.GetClassInfoExA(10000000,1001f8c8 "SECURITYBYBRYANECC",0032f0ec) ret=20ac1248 0021:Ret user32.GetClassInfoExA() retval=00000000 ret=20ac1248 0021:Call user32.RegisterClassExA(1001f8e0) ret=20ac1261 0021:trace:win:alloc_winproc allocated 0xffff0033 for A 0x1000dae3 (52/4096 used) 0021:Ret user32.RegisterClassExA() retval=0000c060 ret=20ac1261 0021:trace:atl:AtlModuleRegisterWndClassInfoA returning 0xc060 0021:Ret atl.AtlModuleRegisterWndClassInfoA() retval=0000c060 ret=1000a2d3 0021:Call atl.AtlModuleAddCreateWndData(10022f78,02161aec,02161ae4) ret=1000dc52 0021:trace:atl:AtlModuleAddCreateWndData (0x10022f78, 0x2161aec, 0x2161ae4) 0021:Ret atl.AtlModuleAddCreateWndData() retval=10022f78 ret=1000dc52 0021:Call user32.CreateWindowExA(00000000,0000c060,00000000,56000000,00000000,00000000,00000099,00000014,00030028,02161ae4,10000000,00000000) ret=1000dc9b 0021:trace:win:WIN_CreateWindowEx (null) #c060 ex=00000000 style=56000000 0,0 153x20 parent=0x30028 menu=0x2161ae4 inst=0x10000000 params=(nil) 0021:trace:win:dump_window_styles style: WS_CHILD WS_VISIBLE WS_CLIPSIBLINGS WS_CLIPCHILDREN 0021:trace:win:dump_window_styles exstyle: 0021:trace:win:WIN_SetWindowLong 0x20050 -12 2161ae4 W 0021:trace:win:GetWindowRect hwnd 0x20050 (14,158)-(167,178) 0021:trace:win:invalidate_dce 0x20050 scope hwnd = 0x30028 (14,158)-(167,178) ((14,158)-(14,158)) 0021:trace:win:invalidate_dce 0x1ba6e88: hwnd 0x20030 dcx 00000013 Cache 0021:trace:win:invalidate_dce 0x146550: hwnd 0x30028 dcx 0000001a Cache 0021:trace:win:GetWindowRect hwnd 0x30028 (14,158)-(167,178) 0021:trace:win:make_dc_dirty purged 0x146550 dce [0x30028] 0021:trace:win:invalidate_dce 0x143328: hwnd 0x20030 dcx 00000013 Cache InUse 0021:trace:win:WIN_CreateWindowEx hwnd 0x20050 cs 0,0 153x20 .. 0021:Call window proc 0x1000dae3 (hwnd=0x20050,msg=WM_NCCREATE,wp=00000000,lp=0032f090) 0021:Call atl.AtlModuleExtractCreateWndData(10022f78) ret=1000daf0 0021:trace:atl:AtlModuleExtractCreateWndData (0x10022f78) 0021:Ret atl.AtlModuleExtractCreateWndData() retval=02161ae4 ret=1000daf0 --- snip ---
Though it crashes a bit later ... but thats another bug (most likely a duplicate to various "use native atl override" bugs).
Regards