Hi, I recently sent this mail to the general Mesa list, but it looks like that may have been the wrong forum. When I last looked it was a development list, but it seems to have changed. (GAS Vs. NASM thread - wow!!!!) I hope this information helps. I've downloaded the mesa-3.1b1-tj2.tar.bz2 from http://www.i21.com/~tjump/files/index.html#mesa-3d which apparently is the latest tree for Windows development. I compiled this with Visual C++ 5.0 Service Pack 3. I'm running on Windows NT 4.0 SP 4. It looks like if WMesaMakeCurrent is entered, with a valid context passed, but the previous context was NULL (i.e. Current = NULL) then things blow up. Specifically dither will try to dereference Current and so causes a memory violation. I've included the top of the stack trace. The item at the top is the last function called. dither (gl_context * 0x07940040, unsigned char 1) line 564 + 8 bytes gl_update_state (gl_context * 0x07940040) line 1993 + 23 bytes gl_make_current (gl_context * 0x07940040, gl_frame_buffer * 0x069f1de0) line 1447 + 9 bytes WMesaMakeCurrent(wmesa_context * 0x069f08f0) line 1395 + 18 bytes wglDeleteContext(void * 0x069f08f0) line 179 + 9 bytes QUAKE3! 0044c2b2() QUAKE3! 00446125() The theory here is that this is happening when the context is being destroyed. This is due to the fact that we know that Quake3 destroys it's context on during startup, plus any other app when being shut down. I also tried the official 3.0 tree with all patches applied, but this was much less sucsessful. Hope this info is useful. Contact me if you need more info, or if you manage to sort out what's going wrong. Paul -- Paul Sargent Senior Design Engineer 3Dlabs Inc Ltd
