diff options
author | Philipp Sehmisch <crush@themanaworld.org> | 2009-04-16 21:22:46 +0200 |
---|---|---|
committer | Philipp Sehmisch <crush@themanaworld.org> | 2009-04-16 21:24:41 +0200 |
commit | c6b4edf8cc635ddcb2a8b3c0cef38dd88fa73768 (patch) | |
tree | e27d5070ac8631f965e52787be2777ac06c4d516 /src | |
parent | 3fb7414240a4dd48e39f840dc766e2bb29fad41d (diff) | |
download | mana-c6b4edf8cc635ddcb2a8b3c0cef38dd88fa73768.tar.gz mana-c6b4edf8cc635ddcb2a8b3c0cef38dd88fa73768.tar.bz2 mana-c6b4edf8cc635ddcb2a8b3c0cef38dd88fa73768.tar.xz mana-c6b4edf8cc635ddcb2a8b3c0cef38dd88fa73768.zip |
Renamed ResourceManager::moveFile to ResourceManager::copyFile and catched error when it fails.
Diffstat (limited to 'src')
-rw-r--r-- | src/resources/resourcemanager.cpp | 2 | ||||
-rw-r--r-- | src/resources/resourcemanager.h | 2 | ||||
-rw-r--r-- | src/sound.cpp | 9 |
3 files changed, 9 insertions, 4 deletions
diff --git a/src/resources/resourcemanager.cpp b/src/resources/resourcemanager.cpp index e24ebafb..f7a2586e 100644 --- a/src/resources/resourcemanager.cpp +++ b/src/resources/resourcemanager.cpp @@ -419,7 +419,7 @@ void *ResourceManager::loadFile(const std::string &fileName, int &fileSize) return buffer; } -bool ResourceManager::moveFile(const std::string &src, const std::string &dst) +bool ResourceManager::copyFile(const std::string &src, const std::string &dst) { PHYSFS_file *srcFile = PHYSFS_openRead(src.c_str()); if (!srcFile) diff --git a/src/resources/resourcemanager.h b/src/resources/resourcemanager.h index 19c0cb61..b2ad3069 100644 --- a/src/resources/resourcemanager.h +++ b/src/resources/resourcemanager.h @@ -133,7 +133,7 @@ class ResourceManager * @return true on success, false on failure. An error message should be * in the log file. */ - bool moveFile(const std::string &src, const std::string &dst); + bool copyFile(const std::string &src, const std::string &dst); /** * Convenience wrapper around ResourceManager::get for loading diff --git a/src/sound.cpp b/src/sound.cpp index 39651045..e2663fa8 100644 --- a/src/sound.cpp +++ b/src/sound.cpp @@ -149,8 +149,13 @@ static Mix_Music *loadMusic(const std::string &filename) // it to a temporary physical file so that SDL_mixer can stream it. logger->log("Loading music \"%s\" from temporary file tempMusic.ogg", path.c_str()); - resman->moveFile("music/" + filename, "tempMusic.ogg"); - path = resman->getPath("tempMusic.ogg"); + bool success = resman->copyFile("music/" + filename, "tempMusic.ogg"); + if (success) + { + path = resman->getPath("tempMusic.ogg"); + } else { + return NULL; + } } else { logger->log("Loading music \"%s\"", path.c_str()); } |