Hi Marnoch,
Thanks for the feedback.
I think there's still a small problem with the install. I first got errors in finding all kinds of resource files so I looked at the L3DT subfolders in My Documents and found that the folder under 'Resources' name ended in .12 instead of .13. Once I renamed it to .13 everything worked fine, so no biggie.
Oops, I was in a bit of a hurry when I put that installer together, and I forgot to set the correct build number on the installer. If the build numbers on the executable and installer don't match, bad things happen to resource paths &c.
I've updated the installer again to fix this problem.
The order of messages the Sapphire debugger generated were:
HideWND
Pausing Renderer
Killing Timer
calling set MouseMode
deleting WGL Render Context
and then it hangs.
Ah, that nails it; the call to 'wglDeleteContext' is throwing an exception, which means it's an OpenGL implementation fault, and more specifically, an ATI driver fault. A quick browse of the ATI support forums indicates
many people are having trouble with crashes caused by ATI's OpenGL drivers. They seem to suggest flashing the card's BIOS, but I'd recommend you speak to ATI support before you try that.
Unfortunately, I don't have any way to fix this bug, since it's not in my code. The best I can do is try to catch the exception raised in 'wglDeleteContext' and handle it gracefully. I've done just this this in this updated version of Sapphire:
http://www.bundysoft.com/L3DT/downloads/plugins/bin/Sapphire-bin.zip
With any luck, this version will just throw one error message and won't crash. However, it could be that some part of the internal state of the card is being messed up, in which case catching the exception merely delays the inevitable crash.
Anyway, if the above version doesn't 'hide' the exception, I think the only course of action is to report the OpenGL driver error to ATI.
Best regards,
Aaron.