As far as I can tell from a quick look, no. All ddraw calls are done from the same thread, there are only a few imm32 calls from another thread.
OK, a shame :-)
I have noticed that it creates multiple DirectDraw and Direct3D devices, some of them are freed, re-created and freed again. At the time of the crash due to reference counting, there are at least 2 DirectDraw and 2 Direct3D objects. Is this going to work?
Well, there should be no issue with that except if there is some issue in the GL drivers about an application having multiple contexts created at the same time?
Do you still want to see a +ddraw,+tid trace? I can upload one to my homepage.
Well, if it's not multithreaded in DDraw, no need. I still have to look at your other trace with the refcounting issue to try to see where the problem lies.
Lionel