aboutsummaryrefslogtreecommitdiff
path: root/engines/teenagent/music.cpp
diff options
context:
space:
mode:
authorVladimir Menshakov2010-03-20 15:24:16 +0000
committerVladimir Menshakov2010-03-20 15:24:16 +0000
commit73d5251738459abb10b99fdf7b1fa18ec2ccd20a (patch)
tree3987c3dc83a4a054733dc4195599db01e62732a2 /engines/teenagent/music.cpp
parent4da76a96d8419e01f919d9fc56f1e0c7852ee8fb (diff)
downloadscummvm-rg350-73d5251738459abb10b99fdf7b1fa18ec2ccd20a.tar.gz
scummvm-rg350-73d5251738459abb10b99fdf7b1fa18ec2ccd20a.tar.bz2
scummvm-rg350-73d5251738459abb10b99fdf7b1fa18ec2ccd20a.zip
fixed stream leaks
svn-id: r48321
Diffstat (limited to 'engines/teenagent/music.cpp')
-rw-r--r--engines/teenagent/music.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/engines/teenagent/music.cpp b/engines/teenagent/music.cpp
index 5f554bf287..daab75c145 100644
--- a/engines/teenagent/music.cpp
+++ b/engines/teenagent/music.cpp
@@ -63,16 +63,14 @@ bool MusicPlayer::load(int id) {
byte sampleResource = ((sample >> 4) & 0x0F) * 10 + (sample & 0x0F);
debug(0, "currSample = %d, sample = 0x%02x, resource: %d", currSample, sample, sampleResource);
uint32 sampleSize = res->sam_mmm.getSize(sampleResource);
- Common::SeekableReadStream *in = res->sam_mmm.getStream(sampleResource);
-
- if (in == 0) {
+ if (sampleSize == 0) {
warning("load: invalid sample %d (0x%02x)", sample, sample);
_samples[sample].clear();
continue;
}
_samples[sample].resize(sampleSize);
- in->read(_samples[sample].data, sampleSize);
+ res->sam_mmm.read(sampleResource, _samples[sample].data, sampleSize);
}
// Load the music data
@@ -101,6 +99,7 @@ bool MusicPlayer::load(int id) {
debug(0, "unhandled music command %02x", cmd);
}
}
+ delete stream;
_currRow = 0;
_id = id;
return true;