X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Ffg_main.c;h=0f47c8dff36e75fd0ee301871a9face08e7f4aa2;hb=b304f6f9002f17cc263e06641a92f19ffbfaf062;hp=b3870681b7ecf44f0f92acd5d38d4601f7a15130;hpb=67f242b7dd68bea7dea467f9b5265c8448b6655e;p=freeglut diff --git a/src/fg_main.c b/src/fg_main.c index b387068..0f47c8d 100644 --- a/src/fg_main.c +++ b/src/fg_main.c @@ -27,17 +27,8 @@ #include #include "fg_internal.h" -#ifdef HAVE_ERRNO_H -# include -#endif +#include #include -#ifdef HAVE_VFPRINTF -# define VFPRINTF(s,f,a) vfprintf((s),(f),(a)) -#elif defined(HAVE__DOPRNT) -# define VFPRINTF(s,f,a) _doprnt((f),(a),(s)) -#else -# define VFPRINTF(s,f,a) -#endif /* * Try to get the maximum value allowed for ints, falling back to the minimum @@ -163,7 +154,7 @@ static void fghcbProcessWork( SFG_Window *window, SFG_Enumerator *enumerator ) { if( window->State.WorkMask ) - fgProcessWork ( window ); + fgProcessWork ( window ); fgEnumSubWindows( window, fghcbProcessWork, enumerator ); } @@ -289,7 +280,7 @@ void fgError( const char *fmt, ... ) fprintf( stderr, "freeglut "); if( fgState.ProgramName ) fprintf( stderr, "(%s): ", fgState.ProgramName ); - VFPRINTF( stderr, fmt, ap ); + vfprintf( stderr, fmt, ap ); fprintf( stderr, "\n" ); va_end( ap ); @@ -322,7 +313,7 @@ void fgWarning( const char *fmt, ... ) fprintf( stderr, "freeglut "); if( fgState.ProgramName ) fprintf( stderr, "(%s): ", fgState.ProgramName ); - VFPRINTF( stderr, fmt, ap ); + vfprintf( stderr, fmt, ap ); fprintf( stderr, "\n" ); va_end( ap ); @@ -385,10 +376,10 @@ static void fghSleepForEvents( void ) msec = fghNextTimer( ); /* XXX Should use GLUT timers for joysticks... */ /* XXX Dumb; forces granularity to .01sec */ - if( fgState.NumActiveJoysticks>0 && ( msec > 10 ) ) + if( fgState.NumActiveJoysticks>0 && ( msec > 10 ) ) msec = 10; - fgPlatformSleepForEvents ( msec ); + fgPlatformSleepForEvents ( msec ); } @@ -488,14 +479,16 @@ void FGAPIENTRY glutMainLoop( void ) if (!fgStructure.Windows.First) fgError(" ERROR: glutMainLoop called with no windows created."); - fgPlatformMainLoopPreliminaryWork (); + fgPlatformMainLoopPreliminaryWork (); fgState.ExecState = GLUT_EXEC_STATE_RUNNING ; - while( fgState.ExecState == GLUT_EXEC_STATE_RUNNING ) + for(;;) { SFG_Window *window; glutMainLoopEvent( ); + if( fgState.ExecState != GLUT_EXEC_STATE_RUNNING ) + break; /* * Step through the list of windows, seeing if there are any * that are not menus