1, /* AuxiliaryBufferNumber */
4, /* SampleNumber */
1, /* MajorVersion */
- 0, /* MajorVersion */
+ 0, /* MinorVersion */
0, /* ContextFlags */
- 0 /* ContextProfile */
+ 0, /* ContextProfile */
+ NULL, /* ErrorFunc */
+ NULL /* WarningFunc */
};
#endif
fgState.Initialised = GL_TRUE;
+ atexit(fgDeinitialize);
/* InputDevice uses GlutTimerFunc(), so fgState.Initialised must be TRUE */
fgInitialiseInputDevices();
if( !fgState.Initialised )
{
- fgWarning( "fgDeinitialize(): "
- "no valid initialization has been performed" );
return;
}
fgState.ContextProfile = profile;
}
+/* -------------- User Defined Error/Warning Handler Support -------------- */
+
+/*
+ * Sets the user error handler (note the use of va_list for the args to the fmt)
+ */
+void FGAPIENTRY glutInitErrorFunc( void (* vfgError) ( const char *fmt, va_list ap ) )
+{
+ /* This allows user programs to handle freeglut errors */
+ fgState.ErrorFunc = vfgError;
+}
+
+/*
+ * Sets the user warning handler (note the use of va_list for the args to the fmt)
+ */
+void FGAPIENTRY glutInitWarningFunc( void (* vfgWarning) ( const char *fmt, va_list ap ) )
+{
+ /* This allows user programs to handle freeglut warnings */
+ fgState.WarningFunc = vfgWarning;
+}
+
/*** END OF FILE ***/