http://bugs.winehq.org/show_bug.cgi?id=12829
--- Comment #17 from mr jingle Salz85@gmail.com 2011-01-09 07:19:23 CST --- I'm trying to use device.c as a reference, but I don't really understand how to access IWineD3DSwapChainImpl from IWineD3DImpl_CreateDevice.
(I should state beforehand that I've never written anything more complex than a flash game; hence sorry if my question may sound obtuse.)
(In reply to comment #16)
This is a quite old bug, with a quite old patch that caused the regression. On first sight I'd say that enabling more than one back buffer enabled some advanced rendering mode in the game that is crashing for an entirely unrelated reason. You can confirm this theory by modifying IWineD3DImpl_CreateDevice in dlls/wined3d/directx.c to return WINED3DERR_INVALIDCALL if BackBufferCount in the presentation parameters is bigger than 1.