diff --git a/src/client/input/sdl.c b/src/client/input/sdl.c index 8b6e025e..ec8c14c9 100644 --- a/src/client/input/sdl.c +++ b/src/client/input/sdl.c @@ -693,7 +693,7 @@ IN_Update(void) { S_Activate(false); - if (windowed_pauseonfocuslost->value == 1) + if (windowed_pauseonfocuslost->value != 2) { Cvar_SetValue("paused", 1); } @@ -710,6 +710,11 @@ IN_Update(void) { S_Activate(true); + if (windowed_pauseonfocuslost->value == 0) + { + Cvar_SetValue("paused", 0); + } + /* play music */ if (Cvar_VariableValue("ogg_pausewithgame") == 1 && OGG_Status() == PAUSE && cl.attractloop == false && @@ -731,9 +736,18 @@ IN_Update(void) { Cvar_SetValue("paused", 0); } + + /* play music */ + if (Cvar_VariableValue("ogg_pausewithgame") == 1 && + OGG_Status() == PAUSE && cl.attractloop == false && + cl_paused->value == 0) + { + Cbuf_AddText("ogg toggle\n"); + } + } - else if (event.window.event == SDL_WINDOWEVENT_MINIMIZED && windowed_pauseonfocuslost->value > 0 || - event.window.event == SDL_WINDOWEVENT_HIDDEN && windowed_pauseonfocuslost->value > 0) + else if (event.window.event == SDL_WINDOWEVENT_MINIMIZED || + event.window.event == SDL_WINDOWEVENT_HIDDEN) { Cvar_SetValue("paused", 1); } diff --git a/src/client/menu/menu.c b/src/client/menu/menu.c index effe8cb9..580b9831 100644 --- a/src/client/menu/menu.c +++ b/src/client/menu/menu.c @@ -124,13 +124,6 @@ M_ForceMenuOff(void) void M_PopMenu(void) { - /* play music */ - if (Cvar_VariableValue("ogg_pausewithgame") == 1 && - OGG_Status() == PAUSE && cl.attractloop == false) - { - Cbuf_AddText("ogg toggle\n"); - } - S_StartLocalSound(menu_out_sound); if (m_menudepth < 1) @@ -146,6 +139,12 @@ M_PopMenu(void) if (!m_menudepth) { M_ForceMenuOff(); + /* play music */ + if (Cvar_VariableValue("ogg_pausewithgame") == 1 && + OGG_Status() == PAUSE && cl.attractloop == false) + { + Cbuf_AddText("ogg toggle\n"); + } } }