InitSDL::InitSDL() {
- if (SDL_Init(0) != 0) {
- throw SDLError("SDL_Init(0)");
+ if (SDL_Init(SDL_INIT_EVENTS) != 0) {
+ throw SDLError("SDL_Init(SDL_INIT_EVENTS)");
}
}
if (SDL_InitSubSystem(SDL_INIT_VIDEO) != 0) {
throw SDLError("SDL_InitSubSystem(SDL_INIT_VIDEO)");
}
+ // SDL seems to start out in text input state
+ SDL_StopTextInput();
}
InitVideo::~InitVideo() {
}
}
-InitAL::~InitAL() {
+InitAL::~InitAL() throw(AlutError) {
if (!alutExit()) {
throw AlutError(alutGetError(), "alutExit");
}
throw SDLError("SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_CORE)");
}
- if (double_buffer) {
- if (SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1) != 0) {
- throw SDLError("SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1)");
+ if (!double_buffer) {
+ if (SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 0) != 0) {
+ throw SDLError("SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 0)");
}
}