on windows too: call resize callback only in response to WM message
[freeglut] / src / fg_window.c
index efbae89..ad151cf 100644 (file)
@@ -151,7 +151,7 @@ void fgOpenWindow( SFG_Window* window, const char* title,
 
     fgInitGL2();
 
-    window->State.NeedToFixMyNameInitContext = GL_TRUE;
+    window->State.NeedToInitContext = GL_TRUE;
 }
 
 /*
@@ -326,8 +326,6 @@ void FGAPIENTRY glutIconifyWindow( void )
     FREEGLUT_EXIT_IF_NOT_INITIALISED ( "glutIconifyWindow" );
     FREEGLUT_EXIT_IF_NO_WINDOW ( "glutIconifyWindow" );
 
-    fgStructure.CurrentWindow->State.Visible   = GL_FALSE;
-
        fgPlatformGlutIconifyWindow ();
 
     fgStructure.CurrentWindow->State.Redisplay = GL_FALSE;
@@ -439,9 +437,11 @@ void FGAPIENTRY glutFullScreen( void )
         fgWarning("glutFullScreen called on a child window, ignoring...");
         return;
     }
-    else if (fgStructure.GameModeWindow != NULL && fgStructure.GameModeWindow->ID==win->ID)
+    else if (fgStructure.GameModeWindow != NULL && fgStructure.GameModeWindow->ID==win->ID && win->State.IsFullscreen)
     {
-        /* Ignore fullscreen call on GameMode window, those are always fullscreen already */
+        /* Ignore fullscreen call on GameMode window, those are always fullscreen already
+         * only exception is during first entering GameMode
+         */
         return;
     }