http://bugs.winehq.org/show_bug.cgi?id=21820
Andrew Nguyen arethusa26@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download Status|UNCONFIRMED |NEW URL|http://www.microapp.com/log |http://download2.microapp.c |iciel_3d_architecte_expert_ |om/telechargement/eval/2674 |cad_2010_2674.html |_eval.exe Component|-unknown |user32 Ever Confirmed|0 |1
--- Comment #3 from Andrew Nguyen arethusa26@gmail.com 2010-02-22 21:52:29 --- The only line that the application emits is:
fixme:reg:GetNativeSystemInfo (0x32f9e8) using GetSystemInfo()
From +relay,+seh,+tid log:
001c:Call user32.DialogBoxIndirectParamW(00000000,0050096c,00020022,00442a06,00500638) ret=00442ccf ... 001c:Call window proc 0x7a50ac7c (hwnd=0x10066,msg=WM_INITDIALOG,wp=00000000,lp=00500638) 001c:Call dialog proc 0x442a06 (hwnd=0x10066,msg=WM_INITDIALOG,wp=00000000,lp=00500638) ... 001c:Call KERNEL32.RaiseException(e06d7363,00000001,00000003,0032f0c0) ret=0044ccd1 001c:trace:seh:raise_exception code=e06d7363 flags=1 addr=0x7b835e12 ip=7b835e12 tid=001c ...
For the WM_INITDIALOG message, MSDN states that the wParam value is:
"Handle to the control to receive the default keyboard focus. The system assigns the default keyboard focus only if the dialog box procedure returns TRUE."
In DIALOG_CreateIndirect in dlls/user32/dialog.c however:
/* moved this from the top of the method to here as DIALOGINFO structure will be valid only after WM_CREATE message has been handled in DefDlgProc All the members of the structure get filled here using temp variables */ dlgInfo = DIALOG_get_info( hwnd, TRUE ); dlgInfo->hwndFocus = 0; ... if (DIALOG_CreateControls32( hwnd, dlgTemplate, &template, hInst, unicode )) { /* Send initialisation messages and set focus */
if (dlgProc) { if (SendMessageW( hwnd, WM_INITDIALOG, (WPARAM)dlgInfo->hwndFocus, param ) && ((~template.style & DS_CONTROL) || (template.style & WS_VISIBLE))) ...
it seems that dlgInfo->hwndFocus is never initialized to an appropriate handle value, causing the application to assert. Initializing dlgInfo->hwndFocus makes the assertion failure go away, although the application simply terminates silently after doing this.