aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorlukaslw2014-07-26 16:38:14 +0200
committerlukaslw2014-07-26 16:38:14 +0200
commite08a59ad5361d327f5c04ede44ab8fa3da733915 (patch)
tree29d6d4d05e9bc9101b43e57953c4ff3b1c2fa8d9 /engines
parent97d10f94ec5f026015b9d6e06494d995d8664cc3 (diff)
downloadscummvm-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.cpp4
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) {