{
fg_time_t msec;
- if( fgState.IdleCallback || fghHavePendingRedisplays( ) )
+ if( fghHavePendingRedisplays( ) )
return;
msec = fghNextTimer( );
FREEGLUT_EXIT_IF_NOT_INITIALISED ( "glutMainLoop" );
+ if (!fgStructure.Windows.First)
+ fgError(" ERROR: glutMainLoop called with no windows created.");
+
fgPlatformMainLoopPreliminaryWork ();
fgState.ExecState = GLUT_EXEC_STATE_RUNNING ;
fgSetWindow( window );
fgState.IdleCallback( );
}
-
- fghSleepForEvents( );
+ else
+ fghSleepForEvents( );
}
}