http://bugs.winehq.org/show_bug.cgi?id=24527
Summary: The Rise of Atlantis fails to start Product: Wine Version: 1.3.3 Platform: x86 URL: http://www.filefront.com/6986091/The-Rise-of-Atlantis- Demo/ OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: gyebro69@gmail.com
Created an attachment (id=30958) --> (http://bugs.winehq.org/attachment.cgi?id=30958) rzipped +relay,+seh,+tid log (uncompressed 7 MB)
On startup the game flashes a window for an instant then it quits.
The console shows only 3 lines: fixme:win:EnumDisplayDevicesW ((null),0,0x32f7ac,0x00000000), stub! fixme:dsalsa:IDsDriverBufferImpl_SetVolumePan (0x13fd38,0x13fc38): stub err:mmtime:TIME_MMTimeStop Timer still active?!
The same happens in Wine-1.0.1.
The linked demo also shows the same issue (quits after starting), however it contains the Big Fish Launcher and needs 'ie6' to be installed. I obtained the game via http://game.giveawayoftheday.com/ , which doesn't come with the BFG Launcher thus it's easier to test.
http://bugs.winehq.org/show_bug.cgi?id=24527
Louis Lenders xerox_xerox2000@yahoo.co.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW CC| |xerox_xerox2000@yahoo.co.uk Ever Confirmed|0 |1
--- Comment #1 from Louis Lenders xerox_xerox2000@yahoo.co.uk 2010-09-26 15:39:34 CDT --- Confirming. Looks like access violation in UpdateWindow make application unhappy:
0009:Ret user32.CreateWindowExA() retval=00020064 ret=004f6c03 0009:Call user32.UpdateWindow(00000000) ret=004f6c0d 0009:Call window proc 0x4f6230 (hwnd=0x20064,msg=WM_PAINT,wp=00000000,lp=00000000) 0009:trace:seh:raise_exception code=c0000005 flags=0 addr=0x409044 ip=00409044 tid=0009 0009:trace:seh:raise_exception info[0]=00000000 0009:trace:seh:raise_exception info[1]=00000000
With the hack below it starts fine for me. MArking as user32 bug for now
diff --git a/dlls/user32/painting.c b/dlls/user32/painting.c index 94bb630..fde83a5 100644 --- a/dlls/user32/painting.c +++ b/dlls/user32/painting.c @@ -1201,8 +1201,8 @@ BOOL WINAPI RedrawWindow( HWND hwnd, const RECT *rect, HRGN hrgn, UINT flags ) * UpdateWindow (USER32.@) */ BOOL WINAPI UpdateWindow( HWND hwnd ) -{ +{return 1; }
http://bugs.winehq.org/show_bug.cgi?id=24527
Louis Lenders xerox_xerox2000@yahoo.co.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |user32
http://bugs.winehq.org/show_bug.cgi?id=24527
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download
http://bugs.winehq.org/show_bug.cgi?id=24527
Dmitry Timoshkov dmitry@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|user32 |-unknown
--- Comment #2 from Dmitry Timoshkov dmitry@codeweavers.com 2010-09-27 04:12:21 CDT --- It's crashing in the app's code, not inside of user32.
http://bugs.winehq.org/show_bug.cgi?id=24527
Dmitry Timoshkov dmitry@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |user32
--- Comment #3 from Dmitry Timoshkov dmitry@codeweavers.com 2010-09-27 04:17:38 CDT --- Probably UpdateWindow() unlike RedrawWindow() should reject hwnd being 0. That would need a test case.
http://bugs.winehq.org/show_bug.cgi?id=24527
--- Comment #4 from Louis Lenders xerox_xerox2000@yahoo.co.uk 2010-09-27 11:23:44 CDT --- (In reply to comment #3)
Probably UpdateWindow() unlike RedrawWindow() should reject hwnd being 0. That would need a test case.
I wrote a tiny test and UpdateWindow returns indeed FALSE in case hwnd being. I'll send a patch + testcase.
http://bugs.winehq.org/show_bug.cgi?id=24527
--- Comment #5 from Louis Lenders xerox_xerox2000@yahoo.co.uk 2010-09-27 13:29:35 CDT --- Created an attachment (id=30976) --> (http://bugs.winehq.org/attachment.cgi?id=30976) patch + tests
Added tests + patch
http://bugs.winehq.org/show_bug.cgi?id=24527
--- Comment #6 from GyB gyebro69@gmail.com 2010-09-27 13:55:05 CDT --- The patch works and the game now starts correctly and works great. Thank you.
http://bugs.winehq.org/show_bug.cgi?id=24527
GyB gyebro69@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED
--- Comment #7 from GyB gyebro69@gmail.com 2010-09-29 12:35:58 CDT --- It is now fixed in wine-1.3.3-380-gc6e1a0c.
http://source.winehq.org/git/wine.git/?a=commit;h=6e4e8fb07ffb7f8bd69a8f2f48...
http://bugs.winehq.org/show_bug.cgi?id=24527
GyB gyebro69@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #8 from GyB gyebro69@gmail.com 2010-09-29 12:37:37 CDT --- Closing it as FIXED now.
http://bugs.winehq.org/show_bug.cgi?id=24527
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|CLOSED |RESOLVED
--- Comment #9 from Austin English austinenglish@gmail.com 2010-09-29 12:59:56 CDT --- (In reply to comment #8)
Closing it as FIXED now.
Please don't close FIXED bugs. They are closed on release, so that the release notes can have a list of fixed bugs.
http://bugs.winehq.org/show_bug.cgi?id=24527
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #10 from Alexandre Julliard julliard@winehq.org 2010-10-01 13:58:08 CDT --- Closing bugs fixed in 1.3.4.