From 430a6f3247c26afc5e81e29d4ee9e3bc5a4a3e2e Mon Sep 17 00:00:00 2001 From: "alexey.lysiuk" Date: Mon, 9 Dec 2019 15:43:01 +0200 Subject: [PATCH] - fixed crash when exiting before sound engine initialization https://forum.zdoom.org/viewtopic.php?t=66605 --- src/sound/s_advsound.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/sound/s_advsound.cpp b/src/sound/s_advsound.cpp index 113cb36d7..d3c79c54c 100644 --- a/src/sound/s_advsound.cpp +++ b/src/sound/s_advsound.cpp @@ -741,10 +741,14 @@ void FPlayerSoundHashTable::MarkUsed() void S_ClearSoundData() { - soundEngine->StopAllChannels(); - soundEngine->UnloadAllSounds(); - auto &S_sfx = soundEngine->GetSounds(); - S_sfx.Clear(); + if (soundEngine) + { + soundEngine->StopAllChannels(); + soundEngine->UnloadAllSounds(); + soundEngine->GetSounds().Clear(); + soundEngine->ClearRandoms(); + } + Ambients.Clear(); while (MusicVolumes != NULL) { @@ -752,7 +756,6 @@ void S_ClearSoundData() MusicVolumes = me->Next; M_Free(me); } - soundEngine->ClearRandoms(); NumPlayerReserves = 0; PlayerClassesIsSorted = false;