diff options
author | Vladimir Menshakov | 2010-03-20 15:24:16 +0000 |
---|---|---|
committer | Vladimir Menshakov | 2010-03-20 15:24:16 +0000 |
commit | 73d5251738459abb10b99fdf7b1fa18ec2ccd20a (patch) | |
tree | 3987c3dc83a4a054733dc4195599db01e62732a2 /engines/teenagent/music.cpp | |
parent | 4da76a96d8419e01f919d9fc56f1e0c7852ee8fb (diff) | |
download | scummvm-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.cpp | 7 |
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; |