Fixing a 'gamemode at_exit' bug courtesy of Diederick Niehorster per e-mail dated...
[freeglut] / src / freeglut_state.c
index a763d27..1cabb9d 100644 (file)
@@ -68,23 +68,9 @@ static int fghGetConfig( int attribute )
 static int fghCheckFullScreen(void)
 {
 #if TARGET_HOST_POSIX_X11
-
-  int result;
-
-  result = 0;
-  if (fgDisplay.StateFullScreen != None)
-    {
-      result = fgHintPresent(fgStructure.CurrentWindow->Window.Handle,
-                            fgDisplay.State,
-                            fgDisplay.StateFullScreen);
-    }
-
-  return result;
-
+    return fgStructure.CurrentWindow->State.IsFullscreen;
 #else
-
-  return 0;
-
+    return 0;
 #endif
 }
 
@@ -334,7 +320,7 @@ int FGAPIENTRY glutGet( GLenum eWhat )
         GLXFBConfig * fbconfig;
         int isPossible;
 
-        fbconfig = fgChooseFBConfig();
+        fbconfig = fgChooseFBConfig(NULL);
 
         if (fbconfig == NULL)
         {
@@ -482,7 +468,8 @@ int FGAPIENTRY glutGet( GLenum eWhat )
 
 #if !defined(_WIN32_WCE)
         if ( ( fgStructure.GameModeWindow != fgStructure.CurrentWindow ) && ( fgStructure.CurrentWindow->Parent == NULL ) &&
-             ( ! fgStructure.CurrentWindow->IsMenu ) )
+             ( ! fgStructure.CurrentWindow->IsMenu ) &&
+            !( fgState.DisplayMode & GLUT_BORDERLESS ))
         {
           winRect.left   += GetSystemMetrics( SM_CXSIZEFRAME );
           winRect.right  -= GetSystemMetrics( SM_CXSIZEFRAME );
@@ -505,6 +492,8 @@ int FGAPIENTRY glutGet( GLenum eWhat )
 #if defined(_WIN32_WCE)
         return 0;
 #else
+       if ( fgState.DisplayMode & GLUT_BORDERLESS )
+         return 0;
         return GetSystemMetrics( SM_CXSIZEFRAME );
 #endif /* !defined(_WIN32_WCE) */
 
@@ -512,6 +501,8 @@ int FGAPIENTRY glutGet( GLenum eWhat )
 #if defined(_WIN32_WCE)
         return 0;
 #else
+       if ( fgState.DisplayMode & GLUT_BORDERLESS )
+         return 0;
         return GetSystemMetrics( SM_CYCAPTION );
 #endif /* defined(_WIN32_WCE) */