diff options
| author | Max Horn | 2003-12-28 00:19:56 +0000 | 
|---|---|---|
| committer | Max Horn | 2003-12-28 00:19:56 +0000 | 
| commit | bcba9807358b3b121cc97d282a093afaefe623da (patch) | |
| tree | 837753b1377e9990d54c750e711f8928097eb0d4 | |
| parent | 12aea7c0da2ac9be311efc6b8307881ce67c6ee1 (diff) | |
| download | scummvm-rg350-bcba9807358b3b121cc97d282a093afaefe623da.tar.gz scummvm-rg350-bcba9807358b3b121cc97d282a093afaefe623da.tar.bz2 scummvm-rg350-bcba9807358b3b121cc97d282a093afaefe623da.zip | |
don't do double-free
svn-id: r11984
| -rw-r--r-- | scumm/player_mod.cpp | 9 | ||||
| -rw-r--r-- | scumm/player_mod.h | 1 | 
2 files changed, 2 insertions, 8 deletions
| diff --git a/scumm/player_mod.cpp b/scumm/player_mod.cpp index 3e4b922b33..69a476a10f 100644 --- a/scumm/player_mod.cpp +++ b/scumm/player_mod.cpp @@ -39,7 +39,6 @@ Player_MOD::Player_MOD(ScummEngine *scumm) {  		_channels[i].id = 0;  		_channels[i].vol = 0;  		_channels[i].freq = 0; -		_channels[i].ptr = NULL;  		_channels[i].converter = NULL;  		_channels[i].input = NULL;  	} @@ -56,13 +55,12 @@ Player_MOD::~Player_MOD() {  	for (int i = 0; i < MOD_MAXCHANS; i++) {  		if (!_channels[i].id)  			continue; -		free(_channels[i].ptr);  		delete _channels[i].converter;  		delete _channels[i].input;  	}  } -void Player_MOD::setMasterVolume (int vol) { +void Player_MOD::setMasterVolume(int vol) {  	_maxvol = vol;  } @@ -77,7 +75,7 @@ void Player_MOD::clearUpdateProc() {  	_mixamt = 0;  } -void Player_MOD::startChannel (int id, void *data, int size, int rate, uint8 vol, int loopStart, int loopEnd, int8 pan) { +void Player_MOD::startChannel(int id, void *data, int size, int rate, uint8 vol, int loopStart, int loopEnd, int8 pan) {  	int i;  	if (id == 0)  		error("player_mod - attempted to start channel id 0"); @@ -93,7 +91,6 @@ void Player_MOD::startChannel (int id, void *data, int size, int rate, uint8 vol  	_channels[i].id = id;  	_channels[i].vol = vol;  	_channels[i].pan = pan; -	_channels[i].ptr = data;  	_channels[i].freq = rate;  	_channels[i].input = makeLinearInputStream(rate, SoundMixer::FLAG_AUTOFREE | (loopStart != loopEnd ? SoundMixer::FLAG_LOOP : 0), (const byte*)data, size, loopStart, loopEnd - loopStart);  	_channels[i].converter = makeRateConverter(rate, _mixer->getOutputRate(), false, false); @@ -104,8 +101,6 @@ void Player_MOD::stopChannel(int id) {  		error("player_mod - attempted to stop channel id 0");  	for (int i = 0; i < MOD_MAXCHANS; i++) {  		if (_channels[i].id == id) { -			free(_channels[i].ptr); -			_channels[i].ptr = NULL;  			delete _channels[i].converter;  			_channels[i].converter = NULL;  			delete _channels[i].input; diff --git a/scumm/player_mod.h b/scumm/player_mod.h index 9157672da8..64db0ede8d 100644 --- a/scumm/player_mod.h +++ b/scumm/player_mod.h @@ -60,7 +60,6 @@ private:  		uint8 vol;  		int8 pan;  		uint16 freq; -		void *ptr;  		RateConverter *converter;  		AudioInputStream *input;  	}; | 
