diff options
author | lukaslw | 2014-07-26 16:38:14 +0200 |
---|---|---|
committer | lukaslw | 2014-07-26 16:38:14 +0200 |
commit | e08a59ad5361d327f5c04ede44ab8fa3da733915 (patch) | |
tree | 29d6d4d05e9bc9101b43e57953c4ff3b1c2fa8d9 /engines | |
parent | 97d10f94ec5f026015b9d6e06494d995d8664cc3 (diff) | |
download | scummvm-rg350-e08a59ad5361d327f5c04ede44ab8fa3da733915.tar.gz scummvm-rg350-e08a59ad5361d327f5c04ede44ab8fa3da733915.tar.bz2 scummvm-rg350-e08a59ad5361d327f5c04ede44ab8fa3da733915.zip |
PRINCE: freeSample() fix
Diffstat (limited to 'engines')
-rw-r--r-- | engines/prince/prince.cpp | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/engines/prince/prince.cpp b/engines/prince/prince.cpp index 831b44137a..5f6630f6a9 100644 --- a/engines/prince/prince.cpp +++ b/engines/prince/prince.cpp @@ -608,6 +608,7 @@ void PrinceEngine::stopAllSamples() { } void PrinceEngine::freeSample(uint16 sampleId) { + stopSample(sampleId); if (_audioStream[sampleId] != nullptr) { delete _audioStream[sampleId]; _audioStream[sampleId] = nullptr; @@ -616,7 +617,6 @@ void PrinceEngine::freeSample(uint16 sampleId) { void PrinceEngine::freeAllSamples() { for (int sampleId = 0; sampleId < kMaxSamples; sampleId++) { - stopSample(sampleId); freeSample(sampleId); } } @@ -633,7 +633,6 @@ bool PrinceEngine::loadSample(uint32 sampleSlot, const Common::String &streamNam debugEngine("loadSample slot %d, name %s", sampleSlot, normalizedPath.c_str()); - stopSample(sampleSlot); freeSample(sampleSlot); Common::SeekableReadStream *sampleStream = SearchMan.createReadStreamForMember(normalizedPath); if (sampleStream == nullptr) { @@ -653,7 +652,6 @@ bool PrinceEngine::loadVoice(uint32 slot, uint32 sampleSlot, const Common::Strin return false; } - stopSample(sampleSlot); freeSample(sampleSlot); Common::SeekableReadStream *sampleStream = SearchMan.createReadStreamForMember(streamName); if (sampleStream == nullptr) { |