We only have pending redisplay callbacks when the window wants to be
authorSven Panne <sven.panne@aedion.de>
Wed, 6 Jul 2005 16:11:31 +0000 (16:11 +0000)
committerSven Panne <sven.panne@aedion.de>
Wed, 6 Jul 2005 16:11:31 +0000 (16:11 +0000)
redisplayed *and* it is visible. Otherwise we won't redraw, anyway, and
immediately discover that there's still something to do, etc. etc., leading
to 100% CPU load.

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

ChangeLog
src/freeglut_main.c

index e90f285..f1e6bb7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1105,3 +1105,8 @@ deinitializing. The visual/context handling for menus is still rather
 obscure, though...
 
 (287) Removed redundant code.
+
+(288) We only have pending redisplay callbacks when the window wants to be
+redisplayed *and* it is visible. Otherwise we won't redraw, anyway, and
+immediately discover that there's still something to do, etc. etc., leading
+to 100% CPU load.
index a953316..8ade92b 100644 (file)
@@ -413,7 +413,7 @@ static int fghHaveJoystick( void )
 }
 static void fghHavePendingRedisplaysCallback( SFG_Window* w, SFG_Enumerator* e)
 {
-    if( w->State.Redisplay )
+    if( w->State.Redisplay && w->State.Visible )
     {
         e->found = GL_TRUE;
         e->data = w;