[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