diff options
author | andreymal <andriyano-31@mail.ru> | 2014-03-02 18:00:02 +0400 |
---|---|---|
committer | andreymal <andriyano-31@mail.ru> | 2014-03-02 18:00:02 +0400 |
commit | 1a0dcedf83d83e02403ebe79469c70c9fb8f35fb (patch) | |
tree | 0a766246009aff2ec77f194d34953b0494b9de24 /src/sound/oalsound | |
parent | fef338da247869884a2b78c648f19a57244c95f8 (diff) | |
download | colobot-1a0dcedf83d83e02403ebe79469c70c9fb8f35fb.tar.gz colobot-1a0dcedf83d83e02403ebe79469c70c9fb8f35fb.tar.bz2 colobot-1a0dcedf83d83e02403ebe79469c70c9fb8f35fb.zip |
fixed m_oldMusic.push_back(nullptr) and segfault
Diffstat (limited to 'src/sound/oalsound')
-rw-r--r-- | src/sound/oalsound/alsound.cpp | 16 |
1 files changed, 9 insertions, 7 deletions
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 { |