Removing the "atexit ( fgDeinitialize )" call from the Windows code per e-mail trail...
authorJohn F. Fay <johnffay@nettally.com>
Sat, 17 Dec 2011 13:19:25 +0000 (13:19 +0000)
committerJohn F. Fay <johnffay@nettally.com>
Sat, 17 Dec 2011 13:19:25 +0000 (13:19 +0000)
git-svn-id: svn+ssh://svn.code.sf.net/p/freeglut/code/trunk/freeglut/freeglut@956 7f0cb862-5218-0410-a997-914c9d46530a

src/freeglut_init.c

index 194248a..44bb42f 100644 (file)
@@ -390,7 +390,12 @@ static void fghInitialize( const char* displayName )
 #endif
 
     fgState.Initialised = GL_TRUE;
+
+    /* Avoid registering atexit callback on Win32 as it results in an access
+     * violation due to calling into a module which has been unloaded. */
+#ifndef TARGET_HOST_MS_WINDOWS
     atexit(fgDeinitialize);
+#endif
 
     /* InputDevice uses GlutTimerFunc(), so fgState.Initialised must be TRUE */
     fgInitialiseInputDevices();