diff options
author | Bjørn Lindeijer <bjorn@lindeijer.nl> | 2005-04-14 02:47:42 +0000 |
---|---|---|
committer | Bjørn Lindeijer <bjorn@lindeijer.nl> | 2005-04-14 02:47:42 +0000 |
commit | 62de779017018a6e8f89fed9e0c930fc4904f5d2 (patch) | |
tree | 2a5736be211c11104c52a692a712c9b4a3683df8 /src | |
parent | 55707a5da749734813d03019b7f1306ddd44e872 (diff) | |
download | mana-client-62de779017018a6e8f89fed9e0c930fc4904f5d2.tar.gz mana-client-62de779017018a6e8f89fed9e0c930fc4904f5d2.tar.bz2 mana-client-62de779017018a6e8f89fed9e0c930fc4904f5d2.tar.xz mana-client-62de779017018a6e8f89fed9e0c930fc4904f5d2.zip |
Fixed pixel alignment error in playerset that was just introduced, and fixed
initialization and cleanup in sound engine (solved crash at least in case of
no sound).
Diffstat (limited to 'src')
-rw-r--r-- | src/sound.cpp | 15 | ||||
-rw-r--r-- | src/sound.h | 14 |
2 files changed, 23 insertions, 6 deletions
diff --git a/src/sound.cpp b/src/sound.cpp index 98fef632..f76b6910 100644 --- a/src/sound.cpp +++ b/src/sound.cpp @@ -25,6 +25,18 @@ #include "log.h" #include "main.h" +Sound::Sound(): + installed(false), + items(-1) +{ +} + +Sound::~Sound() +{ + stopMusic(); + close(); +} + void Sound::init() { // Don't initialize sound engine twice @@ -52,7 +64,6 @@ void Sound::init() info(); music = NULL; - items = -1; installed = true; } @@ -219,7 +230,7 @@ void Sound::playSfx(const char *path) void Sound::clearCache() { - for (SOUND_ID i = 0; i == items; i++) { + for (SOUND_ID i = 0; i <= items; i++) { soundPool[i]->unload(); delete soundPool[i]; soundPool[i] = NULL; diff --git a/src/sound.h b/src/sound.h index c0f2f3ba..96cb8baf 100644 --- a/src/sound.h +++ b/src/sound.h @@ -40,6 +40,16 @@ typedef short SOUND_ID; class Sound { public: /** + * Constructor. + */ + Sound(); + + /** + * Destructor. + */ + ~Sound(); + + /** * Installs the sound engine. */ void init(); @@ -123,10 +133,6 @@ class Sound { */ void clearCache(); - Sound() { installed = false; } - - ~Sound() { stopMusic(); close(); } - private: bool installed; |