On Tuesday 03 December 2002 04:09, Lionel Ulmer wrote:
Im still trying to find the bug (and then a fix :-), but it would help me a lot, if someone could tell me where the GL_IDirect3DImpl_3_CreateDevice gets called from.
Well, the real question is to wonder why the application requests to create a Direct3DDevice2 and not a D3DDevice3 as it should...
It turns out that FF8Config calls IDirect3DImpl_2_EnumDevices (2 times) but then calls GL_IDirect3DImpl_3_CreateDevice.
Now, I don't know yet why it calls the D3D2 for Enum and D3D3 for CreateDevice, but it explains why it didn't crash in the cvs version from 11/24/02: the patch which introduced the crash contains: - XCAST(EnumDevices) Thunk_IDirect3DImpl_2_EnumDevices, + XCAST(EnumDevices) GL_IDirect3DImpl_2_EnumDevices,
if I change "GL_" back to "Thunk_" in the current cvs so that the IDirect3DImpl gets casted to the Direct3D3 interface, then the program no longer crashes. (But that does not say much, since it only tests for features and doesn't really use D3D)
-- Jens