foxygit / doom Log in
commit 14d3126d2fa295df43878c0ce45be37d36eb09c2
Author:     Simon Howard <fraggle@gmail.com>
AuthorDate: Sat Oct 26 21:26:56 2013 +0000
Commit:     Simon Howard <fraggle@gmail.com>
CommitDate: Sat Oct 26 21:26:56 2013 +0000

    Default to windowed mode in OS X, as there is an SDL bug that can cause
    crashing in fullscreen mode (thanks Ryan Peel).

    Subversion-branch: /branches/v2-branch
    Subversion-revision: 2721
---
 src/i_video.c       | 18 ++++++++++++++++++
 src/setup/display.c |  9 +++++++++
 2 files changed, 27 insertions(+)

diff --git a/src/i_video.c b/src/i_video.c
index 81dc9b66..ac75dd50 100644
--- a/src/i_video.c
+++ b/src/i_video.c
@@ -2060,6 +2060,15 @@ void I_InitGraphics(void)
     I_InitWindowIcon();
 #endif

+    // Warning to OS X users... though they might never see it :(
+#ifdef __MACOSX__
+    if (fullscreen)
+    {
+        printf("Some old versions of OS X might crash in fullscreen mode.\n"
+               "If this happens to you, switch back to windowed mode.\n");
+    }
+#endif
+
     //
     // Enter into graphics mode.
     //
@@ -2222,4 +2231,13 @@ void I_BindVideoVariables(void)
         }
     }
 #endif
+
+    // Disable fullscreen by default on OS X, as there is an SDL bug
+    // where some old versions of OS X (<= Snow Leopard) crash.
+
+#ifdef __MACOSX__
+    fullscreen = 0;
+    screen_width = 800;
+    screen_height = 600;
+#endif
 }
diff --git a/src/setup/display.c b/src/setup/display.c
index 4fd4f3b7..494d732a 100644
--- a/src/setup/display.c
+++ b/src/setup/display.c
@@ -743,4 +743,13 @@ void BindDisplayVariables(void)
         }
     }
 #endif
+
+    // Disable fullscreen by default on OS X, as there is an SDL bug
+    // where some old versions of OS X (<= Snow Leopard) crash.
+
+#ifdef __MACOSX__
+    fullscreen = 0;
+    screen_width = 800;
+    screen_height = 600;
+#endif
 }