X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Ffreeglut_init.c;h=7893f058ac6cce409d0caf036e84f1afdaca9679;hb=bb97ecab3add22cf774d3bb8bdb9d1be537cc524;hp=b419025e949652356d151de96155abef598f1c8c;hpb=929b4d880cc9bc99c3f4db62855b3d2445e9398d;p=freeglut diff --git a/src/freeglut_init.c b/src/freeglut_init.c index b419025..7893f05 100644 --- a/src/freeglut_init.c +++ b/src/freeglut_init.c @@ -89,7 +89,8 @@ SFG_State fgState = { { -1, -1, GL_FALSE }, /* Position */ 4, /* SampleNumber */ 1, /* MajorVersion */ 0, /* MajorVersion */ - 0 /* ContextFlags */ + 0, /* ContextFlags */ + 0 /* ContextProfile */ }; @@ -425,6 +426,7 @@ void fgDeinitialize( void ) fgState.MajorVersion = 1; fgState.MinorVersion = 0; fgState.ContextFlags = 0; + fgState.ContextProfile = 0; fgState.Initialised = GL_FALSE; @@ -681,8 +683,10 @@ void FGAPIENTRY glutInit( int* pargc, char** argv ) /* 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" ); @@ -704,7 +708,7 @@ void FGAPIENTRY glutInit( int* pargc, char** argv ) #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) @@ -723,13 +727,13 @@ void FGAPIENTRY glutInit( int* pargc, char** argv ) 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"); @@ -821,7 +825,7 @@ void FGAPIENTRY glutInit( int* pargc, char** argv ) */ 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 @@ -854,7 +858,7 @@ void FGAPIENTRY glutInit( int* pargc, char** argv ) } } -#ifdef TARGET_HOST_MS_WINDOWS +#if TARGET_HOST_MS_WINDOWS void (__cdecl *__glutExitFunc)( int return_value ) = NULL; void FGAPIENTRY __glutInitWithExit( int *pargc, char **argv, void (__cdecl *exit_function)(int) ) @@ -1153,4 +1157,10 @@ void FGAPIENTRY glutInitContextFlags( int flags ) 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 ***/