summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/game.cpp7
-rw-r--r--src/gui/minimap.cpp3
-rw-r--r--src/sound.cpp7
3 files changed, 9 insertions, 8 deletions
diff --git a/src/game.cpp b/src/game.cpp
index 026b0017..8e856dc0 100644
--- a/src/game.cpp
+++ b/src/game.cpp
@@ -958,7 +958,12 @@ void Game::changeMap(const std::string &mapPath)
std::string oldMusic = mCurrentMap ? mCurrentMap->getMusicFile() : "";
std::string newMusic = newMap ? newMap->getMusicFile() : "";
if (newMusic != oldMusic)
- sound.playMusic(newMusic);
+ {
+ if (newMusic.empty())
+ sound.stopMusic();
+ else
+ sound.playMusic(newMusic);
+ }
delete mCurrentMap;
mCurrentMap = newMap;
diff --git a/src/gui/minimap.cpp b/src/gui/minimap.cpp
index 35844f64..8713d3f9 100644
--- a/src/gui/minimap.cpp
+++ b/src/gui/minimap.cpp
@@ -106,7 +106,8 @@ void Minimap::setMap(Map *map)
if (minimapName.empty() && resman->exists(tempname))
minimapName = tempname;
- mMapImage = resman->getImage(minimapName);
+ if (!minimapName.empty())
+ mMapImage = resman->getImage(minimapName);
}
if (mMapImage)
diff --git a/src/sound.cpp b/src/sound.cpp
index d3542a48..fa39e49b 100644
--- a/src/sound.cpp
+++ b/src/sound.cpp
@@ -195,12 +195,7 @@ void Sound::stopMusic()
logger->log("Sound::stopMusic()");
- if (mMusic)
- {
- Mix_HaltMusic();
- Mix_FreeMusic(mMusic);
- mMusic = NULL;
- }
+ haltMusic();
}
void Sound::fadeInMusic(const std::string &path, int ms)