[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Pingus-CVS] [pingus] push by address@hidden - Fallback to SDL when anot
From: |
pingus |
Subject: |
[Pingus-CVS] [pingus] push by address@hidden - Fallback to SDL when another renderer init fails on 2011-10-19 22:54 GMT |
Date: |
Wed, 19 Oct 2011 22:55:14 +0000 |
Revision: 74183aa2c698
Author: Ingo Ruhnke <address@hidden>
Date: Wed Oct 19 15:54:10 2011
Log: Fallback to SDL when another renderer init fails
http://code.google.com/p/pingus/source/detail?r=74183aa2c698
Modified:
/src/pingus/pingus_main.cpp
=======================================
--- /src/pingus/pingus_main.cpp Thu Oct 13 19:03:23 2011
+++ /src/pingus/pingus_main.cpp Wed Oct 19 15:54:10 2011
@@ -605,20 +605,31 @@
fbtype = cmd_options.framebuffer_type.get();
}
- SDLSystem system;
+ Size screen_size(800, 600);
if (cmd_options.geometry.is_set())
{
- system.create_window(fbtype,
- cmd_options.geometry.get(),
- cmd_options.fullscreen.is_set() ?
cmd_options.fullscreen.get() : false,
- cmd_options.resizable.is_set() ?
cmd_options.resizable.get() : true);
- }
- else
- {
- system.create_window(fbtype,
- Size(800, 600),
- cmd_options.fullscreen.is_set() ?
cmd_options.fullscreen.get() : false,
- cmd_options.resizable.is_set() ?
cmd_options.resizable.get() : true);
+ screen_size = cmd_options.geometry.get();
+ }
+
+ bool fullscreen = cmd_options.fullscreen.is_set() ?
cmd_options.fullscreen.get() : false;
+ bool resizable = cmd_options.resizable.is_set() ?
cmd_options.resizable.get() : true;
+
+ SDLSystem system;
+ try
+ {
+ system.create_window(fbtype, screen_size, fullscreen, resizable);
+ }
+ catch(const std::exception& err)
+ {
+ if (fbtype == SDL_FRAMEBUFFER)
+ {
+ throw;
+ }
+ else
+ {
+ log_error("couldn't create window, falling back to SDL: " <<
err.what());
+ system.create_window(SDL_FRAMEBUFFER, screen_size, fullscreen,
resizable);
+ }
}
SavegameManager savegame_manager("savegames/savegames.scm");
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Pingus-CVS] [pingus] push by address@hidden - Fallback to SDL when another renderer init fails on 2011-10-19 22:54 GMT,
pingus <=