http://bugs.winehq.org/show_bug.cgi?id=8194
------- Additional Comments From stefandoesinger@gmx.at 2007-08-06 10:51 ------- Ok, I tested what windows does with wrong struct sizes, and implemented that behavior in ddraw, but no change :-/
can you edit dlls/ntdll/heap.c, line 140: from
if (TRACE_ON(heap)) memset( ptr, ARENA_FREE_FILLER, size );
to
memset( ptr, ARENA_FREE_FILLER, size );
and run the game again without any debug options? When you get a crash, attach the debug log here.
My backtrace looks like this: =>1 0x7e877e14 TIME_MMSysTimeThread+0x114(arg=0x7e8ce600) [/usr/src/wine/linux/dlls/winmm/../../../dlls/winmm/time.c:154] in winmm (0x7ca58a28) 2 0x7efc722e call_thread_entry_point+0xe() in ntdll (0x7ca58a38) 3 0x7efc7ee2 call_thread_func+0x42(rtl_func=<register EDI not in topmost frame>, arg=<register ESI not in topmost frame>) [/usr/src/wine/linux/dlls/ntdll/../../../dlls/ntdll/thread.c:404] in ntdll (0x7ca58ad8) 4 0x7efc817f in ntdll (+0x4817f) (0x7ca593d8) 5 0xf7e942c1 start_thread+0xcb() in libpthread.so.0 (0x7ca594c8) 6 0xf7e28c5e __clone+0x5e() in libc.so.6 (0x00000000) 0x7e877e14 TIME_MMSysTimeThread+0x114 [/usr/src/wine/linux/dlls/winmm/../../../dlls/winmm/time.c:154] in winmm: movl 0x14(%esi),%eax 154 if (cur_time >= timer->dwTriggerTime)