Typesafe handling of temporary window destroy callback
[freeglut] / src / freeglut_window.c
index ca75807..c92fbcb 100644 (file)
@@ -162,7 +162,9 @@ GLboolean fgSetupPixelFormat( SFG_Window* window, GLboolean checkOnly,
     if( fgState.DisplayMode & GLUT_DOUBLE )
         flags |= PFD_DOUBLEBUFFER;
 
+#if defined(_MSC_VER)
 #pragma message( "fgSetupPixelFormat(): there is still some work to do here!" )
+#endif
 
     /*
      * Specify which pixel format do we opt for...
@@ -528,6 +530,8 @@ void fgOpenWindow( SFG_Window* window, const char* title,
 
 #endif
 
+    fgSetWindow( window );
+
     window->Window.DoubleBuffered =
         ( fgState.DisplayMode & GLUT_DOUBLE ) ? 1 : 0;
 
@@ -536,7 +540,6 @@ void fgOpenWindow( SFG_Window* window, const char* title,
         glDrawBuffer ( GL_FRONT );
         glReadBuffer ( GL_FRONT );
     }
-    fgSetWindow( window );
 }
 
 /*
@@ -960,10 +963,10 @@ void FGAPIENTRY glutFullScreen( void )
                                   WS_CLIPCHILDREN, FALSE );
 
         /*
-         * SWP_NOACTIVATE      Do not activate the window
-         * SWP_NOOWNERZORDER   Do not change position in z-order
-         * SWP_NOSENDCHANGING  Supress WM_WINDOWPOSCHANGING message
-         * SWP_NOZORDER                Retains the current Z order (ignore 2nd param)
+         * SWP_NOACTIVATE     Do not activate the window
+         * SWP_NOOWNERZORDER  Do not change position in z-order
+         * SWP_NOSENDCHANGING Supress WM_WINDOWPOSCHANGING message
+         * SWP_NOZORDER       Retains the current Z order (ignore 2nd param)
          */
 
         SetWindowPos( fgStructure.Window->Window.Handle,