diff --git a/src/sound/oalsound/alsound.cpp b/src/sound/oalsound/alsound.cpp index 50564e93..cfb0c709 100644 --- a/src/sound/oalsound/alsound.cpp +++ b/src/sound/oalsound/alsound.cpp @@ -43,11 +43,16 @@ void ALSound::CleanUp() if (mEnabled) { GetLogger()->Info("Unloading files and closing device...\n"); StopAll(); + StopMusic(); for (auto channel : mChannels) { delete channel.second; } + if (mCurrentMusic) { + delete mCurrentMusic; + } + for (auto item : mSounds) { delete item.second; } @@ -58,8 +63,6 @@ void ALSound::CleanUp() mEnabled = false; - mCurrentMusic->FreeBuffer(); - delete mCurrentMusic; alcDestroyContext(mContext); alcCloseDevice(mDevice); }