X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;ds=sidebyside;f=src%2Ffreeglut_callbacks.c;h=8c7280547910268db626b5caef0e5aa4b4ba1e2b;hb=3d059cdfbb1482fd92174664fbca0c29672f4db8;hp=ef404f746a627f777487b6fc65bf319c27b98004;hpb=fe89df7de1aa6a732a441e983cce03e1fd6fd81a;p=freeglut diff --git a/src/freeglut_callbacks.c b/src/freeglut_callbacks.c index ef404f7..8c72805 100644 --- a/src/freeglut_callbacks.c +++ b/src/freeglut_callbacks.c @@ -48,6 +48,9 @@ */ 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"); SET_CALLBACK( Display ); /* @@ -106,7 +109,10 @@ void FGAPIENTRY glutTimerFunc( unsigned int timeOut, void (* callback)( int ), i /* * Create a new freeglut timer hook structure */ - timer = calloc( sizeof(SFG_Timer), 1 ); + timer = (SFG_Timer *)calloc( sizeof(SFG_Timer), 1 ); + if (!timer) + fgError ("Fatal error: " + "Memory allocation failure in glutTimerFunc()\n"); /* * Remember the callback address and timer hook's ID @@ -133,7 +139,8 @@ void FGAPIENTRY glutTimerFunc( unsigned int timeOut, void (* callback)( int ), i */ static void fghVisibility( int status ) { - freeglut_assert_ready; freeglut_return_if_fail( fgStructure.Window != NULL ); + freeglut_assert_ready; + freeglut_return_if_fail( fgStructure.Window != NULL ); freeglut_return_if_fail( fgStructure.Window->Callbacks.Visibility != NULL ); if( status == GLUT_HIDDEN || status == GLUT_FULLY_COVERED )