SDL: Always initialize video subsystem in initSDL.

This commit is contained in:
Johannes Schickel 2013-10-20 23:00:28 +02:00
parent 6e46e9dfaf
commit 1a56b521b5
6 changed files with 27 additions and 32 deletions

View file

@ -262,16 +262,15 @@ void OSystem_SDL::engineDone() {
void OSystem_SDL::initSDL() {
// Check if SDL has not been initialized
if (!_initedSDL) {
uint32 sdlFlags = 0;
// We always initialize the video subsystem because we will need it to
// be initialized before the graphics managers to retrieve the desktop
// resolution, for example. WebOS also requires this initialization
// or otherwise the application won't start.
uint32 sdlFlags = SDL_INIT_VIDEO;
if (ConfMan.hasKey("disable_sdl_parachute"))
sdlFlags |= SDL_INIT_NOPARACHUTE;
#if defined(WEBOS) || defined(USE_OPENGL)
// WebOS needs this flag or otherwise the application won't start.
// OpenGL SDL needs this to query the desktop resolution on startup.
sdlFlags |= SDL_INIT_VIDEO;
#endif
// Initialize SDL (SDL Subsystems are initiliazed in the corresponding sdl managers)
if (SDL_Init(sdlFlags) == -1)
error("Could not initialize SDL: %s", SDL_GetError());
@ -279,6 +278,9 @@ void OSystem_SDL::initSDL() {
// Enable unicode support if possible
SDL_EnableUNICODE(1);
// Disable OS cursor
SDL_ShowCursor(SDL_DISABLE);
_initedSDL = true;
}
}