X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Ffreeglut_callbacks.c;h=dfabb907f9942d90495d8e7731228c0033ac35a1;hb=5d724da03c1b5988304888c17c5eba8a40c0a529;hp=978e82b5426f6aaf8a4438fc4e51435385ce4156;hpb=2e5dc871b7c1df472978af9811d0e97b6684707c;p=freeglut diff --git a/src/freeglut_callbacks.c b/src/freeglut_callbacks.c index 978e82b..dfabb90 100644 --- a/src/freeglut_callbacks.c +++ b/src/freeglut_callbacks.c @@ -41,7 +41,8 @@ #define SET_CALLBACK(a) \ if( fgStructure.Window == NULL ) \ return; \ - fgStructure.Window->Callbacks.a = callback; + FETCH_WCB( ( *( fgStructure.Window ) ), a ) = callback; + /* fgStructure.Window->Callbacks.a = callback; */ /* * Sets the Display callback for the current window @@ -115,14 +116,25 @@ void FGAPIENTRY glutTimerFunc( unsigned int timeOut, void (* callback)( int ), */ static void fghVisibility( int status ) { + FGCBVisibility vis; + int glut_status; + freeglut_assert_ready; freeglut_return_if_fail( fgStructure.Window ); - freeglut_return_if_fail( fgStructure.Window->Callbacks.Visibility ); + vis = FETCH_WCB( ( *( fgStructure.Window ) ), Visibility ); + freeglut_return_if_fail( vis ); + /* Callbacks.Visibility ); */ if( status == GLUT_HIDDEN || status == GLUT_FULLY_COVERED ) + glut_status = GLUT_NOT_VISIBLE; + else + glut_status = GLUT_VISIBLE; + vis( glut_status ); + /* fgStructure.Window->Callbacks.Visibility( GLUT_NOT_VISIBLE ); else fgStructure.Window->Callbacks.Visibility( GLUT_VISIBLE ); + */ } void FGAPIENTRY glutVisibilityFunc( void (* callback)( int ) )