X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Ffreeglut_callbacks.c;h=94c4dbd88094f103779eb41e37223646802e01eb;hb=191f167c1b44679707028d96aae8a2d67fecce30;hp=7f2e23befdab846df78973ae6e5524c7f05f83b4;hpb=1c4676845beb10386f4f58320b05b000efc47ae1;p=freeglut diff --git a/src/freeglut_callbacks.c b/src/freeglut_callbacks.c index 7f2e23b..94c4dbd 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" @@ -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,13 @@ void FGAPIENTRY glutJoystickFunc( void (* callback) ( unsigned int, int, int, int ), int pollInterval ) { + if( !fgState.JoysticksInitialised ) + { + fgJoystickInit( 0 ); + fgJoystickInit( 1 ); + fgState.JoysticksInitialised = GL_TRUE; + } + SET_CALLBACK( Joystick ); fgStructure.Window->State.JoystickPollRate = pollInterval;