summaryrefslogtreecommitdiffstats
path: root/src/sound/oalsound/alsound.cpp
diff options
context:
space:
mode:
authorandreymal <andriyano-31@mail.ru>2014-03-02 18:00:02 +0400
committerandreymal <andriyano-31@mail.ru>2014-03-02 18:00:02 +0400
commit1a0dcedf83d83e02403ebe79469c70c9fb8f35fb (patch)
tree0a766246009aff2ec77f194d34953b0494b9de24 /src/sound/oalsound/alsound.cpp
parentfef338da247869884a2b78c648f19a57244c95f8 (diff)
downloadcolobot-1a0dcedf83d83e02403ebe79469c70c9fb8f35fb.tar.gz
colobot-1a0dcedf83d83e02403ebe79469c70c9fb8f35fb.tar.bz2
colobot-1a0dcedf83d83e02403ebe79469c70c9fb8f35fb.zip
fixed m_oldMusic.push_back(nullptr) and segfault
Diffstat (limited to 'src/sound/oalsound/alsound.cpp')
-rw-r--r--src/sound/oalsound/alsound.cpp16
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
{