diff options
author | krzys-h <krzys_h@interia.pl> | 2014-03-02 16:05:58 +0100 |
---|---|---|
committer | krzys-h <krzys_h@interia.pl> | 2014-03-02 16:05:58 +0100 |
commit | b878f42d474bae1d6c9b17ebaa3d12c2e561fdfa (patch) | |
tree | 0a766246009aff2ec77f194d34953b0494b9de24 /src | |
parent | fef338da247869884a2b78c648f19a57244c95f8 (diff) | |
parent | 1a0dcedf83d83e02403ebe79469c70c9fb8f35fb (diff) | |
download | colobot-b878f42d474bae1d6c9b17ebaa3d12c2e561fdfa.tar.gz colobot-b878f42d474bae1d6c9b17ebaa3d12c2e561fdfa.tar.bz2 colobot-b878f42d474bae1d6c9b17ebaa3d12c2e561fdfa.zip |
Merge pull request #287 from andreymal/dev-fix-sound
fixed m_oldMusic.push_back(nullptr) and segfault
Diffstat (limited to 'src')
-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 { |