diff --git a/src/i_sound.c b/src/i_sound.c index 332f06af49..7d732a12fc 100644 --- a/src/i_sound.c +++ b/src/i_sound.c @@ -415,14 +415,18 @@ void I_ShutdownMusic(void) void I_SetMusicVolume(int volume) { - if (active_music_module != NULL) + if (music_module != NULL) { - active_music_module->SetMusicVolume(volume); + music_module->SetMusicVolume(volume); - if (music_packs_active && active_music_module != &music_pack_module) +#ifndef DISABLE_SDL2MIXER + // [crispy] always broadcast volume changes to SDL. This also covers + // the musicpack module. + if (music_module != &music_sdl_module) { - music_pack_module.SetMusicVolume(volume); + music_sdl_module.SetMusicVolume(volume); } +#endif } }