Con_Printf(CON_ERROR "ERROR: can't %s vsync because %s\n", vsyncwanted ? "activate" : "deactivate", SDL_GetError());
}
+static void VID_SetHints_c(cvar_t *var)
+{
+ SDL_SetHint(SDL_HINT_MOUSE_FOCUS_CLICKTHROUGH, vid_mouse_clickthrough.integer ? "1" : "0");
+ SDL_SetHint(SDL_HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS, vid_minimize_on_focus_loss.integer ? "1" : "0");
+}
+
void VID_Init (void)
{
SDL_version version;
Cvar_RegisterCallback(&vid_resizable, VID_ChangeDisplay_c);
Cvar_RegisterCallback(&vid_borderless, VID_ChangeDisplay_c);
Cvar_RegisterCallback(&vid_vsync, VID_SetVsync_c);
+ Cvar_RegisterCallback(&vid_mouse_clickthrough, VID_SetHints_c);
+ Cvar_RegisterCallback(&vid_minimize_on_focus_loss, VID_SetHints_c);
if (SDL_Init(SDL_INIT_VIDEO) < 0)
- Sys_Error ("Failed to init SDL video subsystem: %s", SDL_GetError());
+ Sys_Abort ("Failed to init SDL video subsystem: %s", SDL_GetError());
if (SDL_InitSubSystem(SDL_INIT_JOYSTICK) < 0)
Con_Printf(CON_ERROR "Failed to init SDL joystick subsystem: %s\n", SDL_GetError());
SDL_SetHint(SDL_HINT_WINDOWS_DPI_AWARENESS, "1");
#endif
- if (vid_mouse_clickthrough.integer)
- SDL_SetHint(SDL_HINT_MOUSE_FOCUS_CLICKTHROUGH, "1");
+ VID_SetHints_c(NULL);
SDL_GL_SetAttribute (SDL_GL_DOUBLEBUFFER, 1);
SDL_GL_SetAttribute (SDL_GL_RED_SIZE, 8);
context = SDL_GL_CreateContext(window);
if (context == NULL)
- Sys_Error("Failed to initialize OpenGL context: %s\n", SDL_GetError());
+ Sys_Abort("Failed to initialize OpenGL context: %s\n", SDL_GetError());
GL_InitFunctions();
SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_COMPATIBILITY);
context = SDL_GL_CreateContext(window);
if (context == NULL)
- Sys_Error("Failed to initialize OpenGL context: %s\n", SDL_GetError());
+ Sys_Abort("Failed to initialize OpenGL context: %s\n", SDL_GetError());
}
#endif
steelstorm_showing_mousecursor = Cvar_FindVar(&cvars_all, "steelstorm_showing_mousecursor", ~0);
if (!SDL_WasInit(SDL_INIT_VIDEO) && SDL_InitSubSystem(SDL_INIT_VIDEO) < 0)
- Sys_Error ("Failed to init SDL video subsystem: %s", SDL_GetError());
+ Sys_Abort ("Failed to init SDL video subsystem: %s", SDL_GetError());
Cvar_SetValueQuick(&vid_touchscreen_supportshowkeyboard, SDL_HasScreenKeyboardSupport() ? 1 : 0);
return VID_InitModeGL(mode);