X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Ffreeglut_callbacks.c;h=38adc58d040738a8ce164238656367dee9d86474;hb=9dac5d0710b760ba04ebb6bbe9ee61041232c700;hp=00d7ba17f8bf10181182f95cde8b37091ec6a82a;hpb=63515472d707c910e1172ff53d90dcf34f128599;p=freeglut diff --git a/src/freeglut_callbacks.c b/src/freeglut_callbacks.c index 00d7ba1..38adc58 100644 --- a/src/freeglut_callbacks.c +++ b/src/freeglut_callbacks.c @@ -29,7 +29,7 @@ #include "config.h" #endif -#include "../include/GL/freeglut.h" +#include #include "freeglut_internal.h" @@ -41,7 +41,7 @@ #define SET_CALLBACK(a) \ if( fgStructure.Window == NULL ) \ return; \ - FETCH_WCB( ( *( fgStructure.Window ) ), a ) = callback; + SET_WCB( ( *( fgStructure.Window ) ), a, callback ); /* * Sets the Display callback for the current window @@ -50,9 +50,8 @@ void FGAPIENTRY glutDisplayFunc( void (* callback)( void ) ) { if( !callback ) fgError( "Fatal error in program. NULL display callback not " - "permitted in GLUT 3.0+ or freeglut 2.0.1+\n" ); + "permitted in GLUT 3.0+ or freeglut 2.0.1+" ); SET_CALLBACK( Display ); - fgStructure.Window->State.Redisplay = GL_TRUE; } /* @@ -107,7 +106,7 @@ void FGAPIENTRY glutTimerFunc( unsigned int timeOut, void (* callback)( int ), { if( ! (timer = malloc(sizeof(SFG_Timer))) ) fgError( "Fatal error: " - "Memory allocation failure in glutTimerFunc()\n" ); + "Memory allocation failure in glutTimerFunc()" ); } timer->Callback = callback; @@ -129,7 +128,7 @@ void FGAPIENTRY glutTimerFunc( unsigned int timeOut, void (* callback)( int ), static void fghVisibility( int status ) { int glut_status = GLUT_VISIBLE; - + freeglut_assert_ready; freeglut_return_if_fail( fgStructure.Window ); @@ -172,6 +171,8 @@ void FGAPIENTRY glutJoystickFunc( void (* callback) ( unsigned int, int, int, int ), int pollInterval ) { + fgInitialiseJoysticks (); + SET_CALLBACK( Joystick ); fgStructure.Window->State.JoystickPollRate = pollInterval;