From 1a0dcedf83d83e02403ebe79469c70c9fb8f35fb Mon Sep 17 00:00:00 2001 From: andreymal Date: Sun, 2 Mar 2014 18:00:02 +0400 Subject: fixed m_oldMusic.push_back(nullptr) and segfault --- src/sound/oalsound/alsound.cpp | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) (limited to 'src/sound/oalsound/alsound.cpp') diff --git a/src/sound/oalsound/alsound.cpp b/src/sound/oalsound/alsound.cpp index ad03970..23476d4 100644 --- a/src/sound/oalsound/alsound.cpp +++ b/src/sound/oalsound/alsound.cpp @@ -514,7 +514,6 @@ void ALSound::FrameMove(float delta) { continue; } - if (it.second->IsMuted()) { it.second->SetVolume(0.0f); @@ -686,12 +685,15 @@ bool ALSound::PlayPauseMusic(const std::string &filename, bool repeat) { if (m_previousMusic.fadeTime > 0.0f) { - OldMusic old; - old.music = m_currentMusic; - old.fadeTime = 2.0f; - old.currentTime = 0.0f; - m_oldMusic.push_back(old); - m_currentMusic = nullptr; + if(m_currentMusic) + { + OldMusic old; + old.music = m_currentMusic; + old.fadeTime = 2.0f; + old.currentTime = 0.0f; + m_oldMusic.push_back(old); + m_currentMusic = nullptr; + } } else { -- cgit v1.2.3-1-g7c22