X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Ffreeglut_callbacks.c;h=94c4dbd88094f103779eb41e37223646802e01eb;hb=191f167c1b44679707028d96aae8a2d67fecce30;hp=705c3d64bc5f0e6b745f27e3accc912b5616857d;hpb=65e03872c287ab34ae76bd1831a3786d5e986b72;p=freeglut diff --git a/src/freeglut_callbacks.c b/src/freeglut_callbacks.c index 705c3d6..94c4dbd 100644 --- a/src/freeglut_callbacks.c +++ b/src/freeglut_callbacks.c @@ -50,7 +50,7 @@ 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 ); } @@ -106,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; @@ -128,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 ); @@ -171,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;