http://bugs.winehq.org/show_bug.cgi?id=2534
Summary: Grim Fandango startup crash (regression; possible patch included) Product: Wine Version: 20041019 Platform: PC OS/Version: Linux Status: UNCONFIRMED Severity: critical Priority: P2 Component: wine-directx AssignedTo: wine-bugs@winehq.org ReportedBy: torbjorn.e.andersson@tietoenator.com
Grim Fandango has been broken for the past two Wine snapshots (20040915 and 20041019). The startup screen appears, followed almost immediately by an unhandled exception. CVS regression testing shows that:
The 2004-09-07 14:32:45 CDT snapshot works. The 2004-09-07 14:33:00 CDT snapshot does not work.
The only change between these two snapshots is revision 1.44 of include/dinput.h. It adds a DIDEVICEOBJECTDATA_DX3 struct and, more importantly, adds uAppData to the already existing DIDEVICEOBJECTDATA struct. If I trace dinput the last two messages before the unhandled exception are:
trace:dinput:SysKeyboardAImpl_Acquire (this=0x403bbee8) trace:dinput:SysKeyboardAImpl_GetDeviceData (this=0x403bbee8,16,0x4067fbd4,0x4067fad0(32)),0x00000000)
I'm including a patch to keyboard.c that fixes the problem for me. It's complete guesswork, based on a somewhat similar code in mouse.c, but it could be the correct fix I guess.