Moving the "glutCreateWindowWithExit" and its associated variable to the Windows...
[freeglut] / src / mswin / freeglut_window_mswin.c
index bf4ef04..5a33ec5 100644 (file)
@@ -169,9 +169,9 @@ void fgNewWGLCreateContext( SFG_Window* window )
         return;\r
     }\r
 \r
-    wglMakeCurrent( window->Window.Device, window->Window.Context );\r
+    wglMakeCurrent( window->Window.pContext.Device, window->Window.Context );\r
 \r
-    if ( !fghIsExtensionSupported( window->Window.Device, "WGL_ARB_create_context" ) )\r
+    if ( !fghIsExtensionSupported( window->Window.pContext.Device, "WGL_ARB_create_context" ) )\r
     {\r
         return;\r
     }\r
@@ -185,7 +185,7 @@ void fgNewWGLCreateContext( SFG_Window* window )
         fgError( "wglCreateContextAttribsARB not found" );\r
     }\r
 \r
-    context = wglCreateContextAttribsARB( window->Window.Device, 0, attributes );\r
+    context = wglCreateContextAttribsARB( window->Window.pContext.Device, 0, attributes );\r
     if ( context == NULL )\r
     {\r
         fghContextCreationError();\r
@@ -296,7 +296,7 @@ GLboolean fgSetupPixelFormat( SFG_Window* window, GLboolean checkOnly,
     if (checkOnly)\r
       current_hDC = CreateDC(TEXT("DISPLAY"), NULL ,NULL ,NULL);\r
     else\r
-      current_hDC = window->Window.Device;\r
+      current_hDC = window->Window.pContext.Device;\r
 \r
     fghFillPFD( ppfd, current_hDC, layer_type );\r
     pixelformat = ChoosePixelFormat( current_hDC, ppfd );\r
@@ -370,13 +370,13 @@ void fgPlatformSetWindow ( SFG_Window *window )
     {\r
         if( fgStructure.CurrentWindow )\r
             ReleaseDC( fgStructure.CurrentWindow->Window.Handle,\r
-                       fgStructure.CurrentWindow->Window.Device );\r
+                       fgStructure.CurrentWindow->Window.pContext.Device );\r
 \r
         if ( window )\r
         {\r
-            window->Window.Device = GetDC( window->Window.Handle );\r
+            window->Window.pContext.Device = GetDC( window->Window.Handle );\r
             wglMakeCurrent(\r
-                window->Window.Device,\r
+                window->Window.pContext.Device,\r
                 window->Window.Context\r
             );\r
         }\r
@@ -1078,3 +1078,12 @@ void fgPlatformGlutFullScreenToggle( SFG_Window *win )
 }\r
 \r
 \r
+/* -- PLATFORM-SPECIFIC INTERFACE FUNCTION -------------------------------------------------- */\r
+\r
+\r
+int FGAPIENTRY __glutCreateWindowWithExit( const char *title, void (__cdecl *exit_function)(int) )\r
+{\r
+  __glutExitFunc = exit_function;\r
+  return glutCreateWindow( title );\r
+}\r
+\r