[Scummvm-cvs-logs] scummvm master -> 4a17b91db2660848e6d2e8d41b383bebbe11f472
sev-
sev at scummvm.org
Sun Apr 21 13:14:15 CEST 2013
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
4a17b91db2 AGI: Fix sound deinit. CID 1004128
Commit: 4a17b91db2660848e6d2e8d41b383bebbe11f472
https://github.com/scummvm/scummvm/commit/4a17b91db2660848e6d2e8d41b383bebbe11f472
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2013-04-21T04:12:13-07:00
Commit Message:
AGI: Fix sound deinit. CID 1004128
We really left sound gen leaked with preagi games.
Changed paths:
engines/agi/agi.cpp
engines/agi/preagi_winnie.cpp
engines/agi/sound.cpp
engines/agi/sound.h
diff --git a/engines/agi/agi.cpp b/engines/agi/agi.cpp
index 98ffca2..f79dfa3 100644
--- a/engines/agi/agi.cpp
+++ b/engines/agi/agi.cpp
@@ -513,10 +513,7 @@ AgiBase::AgiBase(OSystem *syst, const AGIGameDescription *gameDesc) : Engine(sys
AgiBase::~AgiBase() {
delete _rnd;
- if (_sound) {
- _sound->deinitSound();
- delete _sound;
- }
+ delete _sound;
}
void AgiBase::initRenderMode() {
@@ -650,7 +647,6 @@ void AgiEngine::initialize() {
_game.sbuf = _game.sbuf16c; // Make sbuf point to the 16 color (+control line & priority info) AGI screen by default
_gfx->initVideo();
- _sound->initSound();
_lastSaveTime = 0;
diff --git a/engines/agi/preagi_winnie.cpp b/engines/agi/preagi_winnie.cpp
index 37f8661..06a6988 100644
--- a/engines/agi/preagi_winnie.cpp
+++ b/engines/agi/preagi_winnie.cpp
@@ -1334,7 +1334,6 @@ void WinnieEngine::init() {
}
_sound = new SoundMgr(this, _mixer);
- _sound->initSound();
setflag(fSoundOn, true); // enable sound
memset(&_gameStateWinnie, 0, sizeof(_gameStateWinnie));
diff --git a/engines/agi/sound.cpp b/engines/agi/sound.cpp
index 3ae4d54..56c7ebc 100644
--- a/engines/agi/sound.cpp
+++ b/engines/agi/sound.cpp
@@ -167,16 +167,6 @@ void SoundMgr::stopSound() {
_endflag = -1;
}
-int SoundMgr::initSound() {
- return -1;
-}
-
-void SoundMgr::deinitSound() {
- stopSound();
-
- delete _soundGen;
-}
-
void SoundMgr::soundIsFinished() {
if (_endflag != -1)
_vm->setflag(_endflag, true);
@@ -219,6 +209,9 @@ void SoundMgr::setVolume(uint8 volume) {
}
SoundMgr::~SoundMgr() {
+ stopSound();
+
+ delete _soundGen;
}
} // End of namespace Agi
diff --git a/engines/agi/sound.h b/engines/agi/sound.h
index 528becb..f300af8 100644
--- a/engines/agi/sound.h
+++ b/engines/agi/sound.h
@@ -139,8 +139,6 @@ public:
void unloadSound(int);
void playSound();
- int initSound();
- void deinitSound();
void startSound(int, int);
void stopSound();
More information about the Scummvm-git-logs
mailing list