http://bugs.winehq.org/show_bug.cgi?id=60018 --- Comment #10 from zlice <zlice@crtdrift.us> --- Created attachment 81474 --> http://bugs.winehq.org/attachment.cgi?id=81474 mfplat-mediatype-fix So this patch seems to fix 1 bug, however I built a normal build with debugging/trace/fixme messages still enabled and only this patch on top of 11.13 and the game can still crash at the intro 'movie/overlay' w/e it's playing at 220 pixels. Still don't really know why the descriptor pointer is 0. presentation_descriptor_Clone looks wrapped in thread locks and MFCreatePresentationDescriptor seems to return early if count is 0 or descriptors are invalid. Possibly thread race on release? for ref 0x00000001800158a7 <+39>: mov rcx,r12 0x00000001800158aa <+42>: call QWORD PTR [rip+0x24be0] # 0x18003a490 <__imp_EnterCriticalSection> 0x00000001800158b0 <+48>: mov rax,QWORD PTR [rsi+0x8] 0x00000001800158b4 <+52>: mov eax,DWORD PTR [rax+rbx*1+0x8] 0x00000001800158b8 <+56>: mov DWORD PTR [rbp+0x0],eax 0x00000001800158bb <+59>: mov rax,QWORD PTR [rsi+0x8] 0x00000001800158bf <+63>: mov rcx,QWORD PTR [rax+rbx*1] 0x00000001800158c3 <+67>: mov QWORD PTR [rdi],rcx 0x00000001800158c6 <+70>: mov rax,QWORD PTR [rcx] <<< CRASH - desc=0 0x00000001800158c9 <+73>: call QWORD PTR [rax+0x8] 0x00000001800158cc <+76>: mov rcx,r12 0x00000001800158cf <+79>: call QWORD PTR [rip+0x24c0b] # 0x18003a4e0 <__imp_LeaveCriticalSection> Check if descriptor is 0 and fuk off. Used E_INVALID ret but maybe E_HANDLE is a better error? I moved the descriptor set and addref inside the critical section with the bool set, idk if it's that "critical" but figured if the bools that important then why not? With WINE_NO_TRACE_MSGS and WINE_NO_DEBUG_MSGS, commenting out any ERR lines in mfplat and winegstreamer, AND on top of this patch, the game has made it past intro several times in a row with no problem (did put 1 error in to spit out "INVALID" so I could be sure the descriptor was indeed set to 0). As for the debug printout issue I still don't really know what is going on. Assume a thread race. Was at the descriptor bit before but as the crashes were changing thought I was in the wrong spot. A if > 0xFFFF may be good? But you wouldn't really be able to tell what's wrong or where. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.