X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Ffreeglut_display.c;h=601375b3b9c9cdb09681cfe29e7ecd0bdcd28d60;hb=027fcf9e66356b06563140740f8d1c7bc05c9987;hp=a7271cb7da1e6b7e66e6bc055958c4894e971ffb;hpb=0fd65e65061141e7317caba38801580374f09d0b;p=freeglut diff --git a/src/freeglut_display.c b/src/freeglut_display.c index a7271cb..601375b 100644 --- a/src/freeglut_display.c +++ b/src/freeglut_display.c @@ -37,7 +37,7 @@ void FGAPIENTRY glutPostRedisplay( void ) { FREEGLUT_EXIT_IF_NOT_INITIALISED ( "glutPostRedisplay" ); FREEGLUT_EXIT_IF_NO_WINDOW ( "glutPostRedisplay" ); - fgStructure.Window->State.Redisplay = GL_TRUE; + fgStructure.CurrentWindow->State.Redisplay = GL_TRUE; } /* @@ -48,14 +48,18 @@ void FGAPIENTRY glutSwapBuffers( void ) FREEGLUT_EXIT_IF_NOT_INITIALISED ( "glutSwapBuffers" ); FREEGLUT_EXIT_IF_NO_WINDOW ( "glutSwapBuffers" ); + /* + * "glXSwapBuffers" already performs an implicit call to "glFlush". What + * about "SwapBuffers"? + */ glFlush( ); - if( ! fgStructure.Window->Window.DoubleBuffered ) + if( ! fgStructure.CurrentWindow->Window.DoubleBuffered ) return; -#if TARGET_HOST_UNIX_X11 - glXSwapBuffers( fgDisplay.Display, fgStructure.Window->Window.Handle ); -#elif TARGET_HOST_WIN32 || TARGET_HOST_WINCE - SwapBuffers( fgStructure.Window->Window.Device ); +#if TARGET_HOST_POSIX_X11 + glXSwapBuffers( fgDisplay.Display, fgStructure.CurrentWindow->Window.Handle ); +#elif TARGET_HOST_MS_WINDOWS + SwapBuffers( fgStructure.CurrentWindow->Window.Device ); #endif /* GLUT_FPS env var support */