https://bugs.winehq.org/show_bug.cgi?id=12941
--- Comment #21 from Sergey Isakov isakov-sl@bk.ru --- New observation Fail ~~~~ trace:ddraw:d3d_device7_SetViewport iface 0x1606c0, viewport 0x33d778. wine: Unhandled page fault on read access to 0x0000101b at address 0x4adc49 (thread 002d), starting debugger... ~~~~
Success ~~~~ trace:ddraw:d3d_device7_SetViewport iface 0x160620, viewport 0x33d778. trace:ddraw:d3d_device3_GetCaps iface 0x160624, hw_desc 0x33e0d4, hel_desc 0x33e1d0. ~~~~ Yes, the function d3d_device3_GetCaps() is a forth member in table d3d_device3_vtbl, which correspond to crash at 0x4adc49 if the table is not assigned but two other functions from the same table are working ~~~ warn:ddraw:d3d_device3_GetCurrentViewport No current viewport, returning D3DERR_NOCURRENTVIEWPORT trace:ddraw:d3d_device3_SetCurrentViewport iface 0x1606c4, viewport 0x179c78. ~~~ So, the table became corrupted? The game bug? Call to [ds:ecx + 0xc] when ecx=0x100f looks like a bug. Not our bug.