static int fghHaveJoystick( void )
{
SFG_Enumerator enumerator;
+
enumerator.found = GL_FALSE;
enumerator.data = NULL;
fgEnumWindows( fghCheckJoystickCallback, &enumerator );
static int fghHavePendingRedisplays (void)
{
SFG_Enumerator enumerator;
+
enumerator.found = GL_FALSE;
enumerator.data = NULL;
fgEnumWindows( fghHavePendingRedisplaysCallback, &enumerator );
window->State.MouseX = event.a.x; \
window->State.MouseY = event.a.y;
- freeglut_assert_ready;
+ FREEGLUT_EXIT_IF_NOT_INITIALISED ( "glutMainLoopEvent" );
while( XPending( fgDisplay.Display ) )
{
MSG stMsg;
+ FREEGLUT_EXIT_IF_NOT_INITIALISED ( "glutMainLoopEvent" );
+
while( PeekMessage( &stMsg, NULL, 0, 0, PM_NOREMOVE ) )
{
if( GetMessage( &stMsg, NULL, 0, 0 ) == 0 )
SFG_Window *window = (SFG_Window *)fgStructure.Windows.First ;
#endif
- freeglut_assert_ready;
+ FREEGLUT_EXIT_IF_NOT_INITIALISED ( "glutMainLoop" );
#if TARGET_HOST_WIN32 || TARGET_HOST_WINCE
/*
*/
void FGAPIENTRY glutLeaveMainLoop( void )
{
+ FREEGLUT_EXIT_IF_NOT_INITIALISED ( "glutLeaveMainLoop" );
fgState.ExecState = GLUT_EXEC_STATE_STOP ;
}
LRESULT CALLBACK fgWindowProc( HWND hWnd, UINT uMsg, WPARAM wParam,
LPARAM lParam )
{
- SFG_Window* window = fgWindowByHandle( hWnd );
+ SFG_Window* window;
PAINTSTRUCT ps;
LONG lRet = 1;
+ FREEGLUT_INTERNAL_ERROR_EXIT_IF_NOT_INITIALISED ( "Event Handler" ) ;
+
+ window = fgWindowByHandle( hWnd );
+
if ( ( window == NULL ) && ( uMsg != WM_CREATE ) )
return DefWindowProc( hWnd, uMsg, wParam, lParam );
case WM_CREATE:
/* The window structure is passed as the creation structure paramter... */
window = (SFG_Window *) (((LPCREATESTRUCT) lParam)->lpCreateParams);
- assert( window != NULL );
+ FREEGLUT_INTERNAL_ERROR_EXIT ( ( window != NULL ), "Cannot create window",
+ "fgWindowProc" );
window->Window.Handle = hWnd;
window->Window.Device = GetDC( hWnd );