Hi John, all,

On 14/12/2011 13:00, John F. Fay wrote:
    The "fgDeinitialize" was added because we added the possibility of "freeglut" returning cleanly from "glutMainLoop" and the program continuing its execution.  Somebody wanted to be able to reinitialize "freeglut" and start the whole process over again.

If this is all it is doing, then I don't think it even needs to be registered as an atexit callback--if you have called exit() or ExitProcess() then there is no chance of reinitialising freeglut anyway. Does anyone see a reason why we shouldn't remove the "atexit(fgDeinitialize)"? If not, it might take quite some effort to ensure that only freeglut and CRT functions are being called when fgDeinitialize() is called after exit().