Implemented fullscreen mode selection, OpenGL only for the moment
[supertux.git] / src / video / gl / gl_renderer.cpp
index 739ac7f..d869785 100644 (file)
@@ -615,7 +615,24 @@ GLRenderer::apply_video_mode(const Size& size, bool fullscreen)
     {
       int fullscreen_flags = SDL_WINDOW_FULLSCREEN; // SDL_WINDOW_FULLSCREEN_DESKTOP or 0
       SDL_SetWindowDisplayMode(window, NULL);
-      SDL_SetWindowFullscreen(window, fullscreen_flags);
+
+      SDL_DisplayMode mode;
+      mode.format = SDL_PIXELFORMAT_RGB888;
+      mode.w = g_config->fullscreen_size.width;
+      mode.h = g_config->fullscreen_size.height;
+      mode.refresh_rate = g_config->fullscreen_refresh_rate;
+      mode.driverdata = 0;
+
+      if (SDL_SetWindowDisplayMode(window, &mode) != 0)
+      {
+        log_warning << "failed to set display mode: "
+                    << mode.w << "x" << mode.h << "@" << mode.refresh_rate << ": "
+                    << SDL_GetError() << std::endl;
+      }
+      else
+      {
+        SDL_SetWindowFullscreen(window, fullscreen_flags);
+      }
     }
     else
     {