http://bugs.winehq.org/show_bug.cgi?id=5563
------- Additional Comments From xerox_xerox2000@yahoo.co.uk 2006-29-10 01:31 ------- Created an attachment (id=3961) --> (http://bugs.winehq.org/attachment.cgi?id=3961&action=view) +relay,+seh,+tid
This might be a problem in DialogBoxParamA
0021:Call user32.DialogBoxParamA(00400000,00000068,000401f8,004bd890,00000000) ret=004bdd3e 0021:Ret user32.DialogBoxParamA() retval=00000000 ret=004bdd3e
MSDN states: If the function fails because the hWndParent parameter is invalid, the return value is zero. The function returns zero in this case for compatibility with previous versions of Microsoft Windows. If the function fails for any other reason, the return value is 1.
If change return value to -1 instead of 0, it doesn't crash anymore, prints a d3d fixme (so it get's further) but then seems to hang. The icon is in the taskbar, and ps -ux shows the program runs, but i can only see a black screen.
diff --git a/dlls/user/dialog.c b/dlls/user/dialog.c index 4021151..a17abf3 100644 --- a/dlls/user/dialog.c +++ b/dlls/user/dialog.c @@ -792,7 +792,7 @@ INT_PTR WINAPI DialogBoxParamA( HINSTANC HRSRC hrsrc; LPCDLGTEMPLATEA ptr;
- if (!(hrsrc = FindResourceA( hInst, name, (LPSTR)RT_DIALOG ))) return 0; + if (!(hrsrc = FindResourceA( hInst, name, (LPSTR)RT_DIALOG ))) return -1; if (!(ptr = (LPCDLGTEMPLATEA)LoadResource(hInst, hrsrc))) return 0; hwnd = DIALOG_CreateIndirect( hInst, ptr, owner, dlgProc, param, FALSE, TRUE ); if (hwnd) return DIALOG_DoDialogBox( hwnd, owner ); diff --git a/dlls/user/sysparams.c b/dlls/user/sysparams.c