From 3a343cf8f19e8255dd8fa9ec95744d360cdc5712 Mon Sep 17 00:00:00 2001 From: mazmazz Date: Fri, 14 Sep 2018 16:39:10 -0400 Subject: [PATCH] Don't call I_StartupSound in SFX toggle * Mixer: make I_StartupSound return early if already set up * Restartaudio: Add StopSFX call (cherry picked from commit b330dc23946ecfae91301ababebbfddc97560c7e) --- src/d_netcmd.c | 1 + src/m_menu.c | 1 - src/sdl/mixer_sound.c | 5 ++++- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/d_netcmd.c b/src/d_netcmd.c index 1e09c1c9e..0a88403c2 100644 --- a/src/d_netcmd.c +++ b/src/d_netcmd.c @@ -4049,6 +4049,7 @@ static void Command_RestartAudio_f(void) return; S_StopMusic(); + S_StopSounds(); I_ShutdownMusic(); I_ShutdownSound(); I_StartupSound(); diff --git a/src/m_menu.c b/src/m_menu.c index 66b803340..0c6b9cf02 100644 --- a/src/m_menu.c +++ b/src/m_menu.c @@ -9419,7 +9419,6 @@ static void M_ToggleSFX(INT32 choice) if (sound_disabled) { sound_disabled = false; - I_StartupSound(); S_InitSfxChannels(cv_soundvolume.value); S_StartSound(NULL, sfx_strpst); OP_SoundOptionsMenu[6].status = IT_STRING | IT_CVAR; diff --git a/src/sdl/mixer_sound.c b/src/sdl/mixer_sound.c index 41b62fd66..2bede6556 100644 --- a/src/sdl/mixer_sound.c +++ b/src/sdl/mixer_sound.c @@ -82,7 +82,10 @@ void I_StartupSound(void) // EE inits audio first so we're following along. if (SDL_WasInit(SDL_INIT_AUDIO) == SDL_INIT_AUDIO) - CONS_Printf("SDL Audio already started\n"); + { + CONS_Debug(DBG_DETAILED, "SDL Audio already started\n"); + return; + } else if (SDL_InitSubSystem(SDL_INIT_AUDIO) < 0) { CONS_Alert(CONS_ERROR, "Error initializing SDL Audio: %s\n", SDL_GetError());