For some reason, the X "expose" event handler was *directly* calling
authorRichard Rauch <rkr@olib.org>
Sat, 14 Feb 2004 03:29:57 +0000 (03:29 +0000)
committerRichard Rauch <rkr@olib.org>
Sat, 14 Feb 2004 03:29:57 +0000 (03:29 +0000)
the display handler in the client.  (Okay, it was calling a function
that operates on the window handle.)

If you have any complexity to the display code, this can be painful
to watch.  I can't think of a good reason to do the display immediately,
so I fixed the code to do a glutPostRedisplay().

git-svn-id: svn+ssh://svn.code.sf.net/p/freeglut/code/trunk/freeglut/freeglut@461 7f0cb862-5218-0410-a997-914c9d46530a

src/freeglut_main.c

index 68c530c..2882ede 100644 (file)
@@ -613,12 +613,13 @@ void FGAPIENTRY glutMainLoopEvent( void )
              * XXX double-buffered does not respect viewport when we
              * XXX do a buffer-swap).
              *
-             * XXX GETWINDOW( xexpose );
-             * XXX fgSetWindow( window );
-             * XXX glutPostRedisplay( );
              */
             if( event.xexpose.count == 0 )
-                fghRedrawWindowByHandle( event.xexpose.window );
+            {
+                GETWINDOW( xexpose );
+                fgSetWindow( window );
+                glutPostRedisplay( );
+            }
             break;
 
         case MapNotify: