[Bug 5563] Airport Tycoon 3 pagefaults instantly at execution

Wine Bugs wine-bugs at winehq.org
Sun Oct 29 01:31:49 CST 2006


http://bugs.winehq.org/show_bug.cgi?id=5563





------- Additional Comments From xerox_xerox2000 at 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


-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



More information about the wine-bugs mailing list