* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
+#define FREEGLUT_BUILDING_LIB
#include <GL/freeglut.h>
#include "freeglut_internal.h"
4, /* SampleNumber */
1, /* MajorVersion */
0, /* MajorVersion */
- 0 /* ContextFlags */
+ 0, /* ContextFlags */
+ 0 /* ContextProfile */
};
fgState.MajorVersion = 1;
fgState.MinorVersion = 0;
fgState.ContextFlags = 0;
+ fgState.ContextProfile = 0;
fgState.Initialised = GL_FALSE;
/* will return true for VC8 (VC2005) and higher */
#if TARGET_HOST_MS_WINDOWS && ( _MSC_VER >= 1400 )
size_t sLen;
+#if HAVE_ERRNO
errno_t err;
#endif
+#endif
if( fgState.Initialised )
fgError( "illegal glutInit() reinitialization attempt" );
#ifndef _WIN32_WCE
{
/* will return true for VC8 (VC2005) and higher */
-#if TARGET_HOST_MS_WINDOWS && ( _MSC_VER >= 1400 )
+#if TARGET_HOST_MS_WINDOWS && ( _MSC_VER >= 1400 ) && HAVE_ERRNO
char* fps = NULL;
err = _dupenv_s( &fps, &sLen, "GLUT_FPS" );
if (err)
fgState.FPSInterval = interval;
}
/* will return true for VC8 (VC2005) and higher */
-#if TARGET_HOST_MS_WINDOWS && ( _MSC_VER >= 1400 )
+#if TARGET_HOST_MS_WINDOWS && ( _MSC_VER >= 1400 ) && HAVE_ERRNO
free ( fps ); fps = NULL; /* dupenv_s allocates a string that we must free */
#endif
}
/* will return true for VC8 (VC2005) and higher */
-#if TARGET_HOST_MS_WINDOWS && ( _MSC_VER >= 1400 )
+#if TARGET_HOST_MS_WINDOWS && ( _MSC_VER >= 1400 ) && HAVE_ERRNO
err = _dupenv_s( &displayName, &sLen, "DISPLAY" );
if (err)
fgError("Error getting DISPLAY environment variable");
*/
fghInitialize( displayName );
/* will return true for VC8 (VC2005) and higher */
-#if TARGET_HOST_MS_WINDOWS && ( _MSC_VER >= 1400 )
+#if TARGET_HOST_MS_WINDOWS && ( _MSC_VER >= 1400 ) && HAVE_ERRNO
free ( displayName ); displayName = NULL; /* dupenv_s allocates a string that we must free */
#endif
}
}
+#if TARGET_HOST_MS_WINDOWS
+void (__cdecl *__glutExitFunc)( int return_value ) = NULL;
+
+void FGAPIENTRY __glutInitWithExit( int *pargc, char **argv, void (__cdecl *exit_function)(int) )
+{
+ __glutExitFunc = exit_function;
+ glutInit(pargc, argv);
+}
+#endif
+
/*
* Undoes all the "glutInit" stuff
*/
fgState.ContextFlags = flags;
}
+void FGAPIENTRY glutInitContextProfile( int profile )
+{
+ /* We will make use of this value when creating a new OpenGL context... */
+ fgState.ContextProfile = profile;
+}
+
/*** END OF FILE ***/