Hi, I had a little amount of time to look at the issue and have posted a fix to the list. It appeared that the GLX context did still exist when X11DRV_InitOpenGLInfo got called the second time from a different thread. This most likely turned wined3d in a multithreaded OpenGL app which doesn't allways work well as OpenGL isn't threadsafe. By switching to a NULL context before killing the context, it got killed immedeately (before it became inactive which it never became). This fixes atleast 3dmark2001 and halflife2.
Roderick > Phil, Roderick, > > I'm going to look at what I can do to improve the patch and gather > more information on the handling of contextes. I just haven't had time > yet. And Roderick, I'll discuss with you the newer patch when I'm > ready so to see if you agree with it. I do lean towards agreeing with > Phil on that this is simply needed and more than a workaround. I've > already been asked many times if the patch has gotten in and that is > why I posted to wine-patches so quickly; your patch broke alot of D3D > apps for alot of people... The d3d9 stateblock test is the best clue. > > Jesse