From 9f649d77012fd0bbb31d44fbec11afed7c2b95ac Mon Sep 17 00:00:00 2001 From: Eidolon Date: Mon, 9 Jan 2023 14:58:59 -0600 Subject: [PATCH] audio: conditionally shutdown SFX/Music players Fixes a potential segfault during startup where the sound hasn't been initialized yet, but an I_Error occurs while loading data. --- src/sdl/new_sound.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/sdl/new_sound.cpp b/src/sdl/new_sound.cpp index 3052ee587..0415778f1 100644 --- a/src/sdl/new_sound.cpp +++ b/src/sdl/new_sound.cpp @@ -186,7 +186,8 @@ void I_ShutdownSound(void) { SdlAudioLockHandle _; for (auto& channel : sound_effect_channels) { - *channel = audio::SoundEffectPlayer(); + if (channel) + *channel = audio::SoundEffectPlayer(); } } @@ -329,7 +330,8 @@ void I_InitMusic(void) { void I_ShutdownMusic(void) { SdlAudioLockHandle _; - *music_player = audio::MusicPlayer(); + if (music_player) + *music_player = audio::MusicPlayer(); } /// ------------------------