diff options
author | Eugene Sandulenko | 2016-11-10 23:01:00 +0100 |
---|---|---|
committer | Eugene Sandulenko | 2016-11-10 23:01:00 +0100 |
commit | f7e01073077d7444a58d4ef770e202dafacf2740 (patch) | |
tree | 3970d5b28618281211bcd0675c048ace32552461 /engines | |
parent | faaa1a6b1f473955039fe88c127f496f4824434e (diff) | |
download | scummvm-rg350-f7e01073077d7444a58d4ef770e202dafacf2740.tar.gz scummvm-rg350-f7e01073077d7444a58d4ef770e202dafacf2740.tar.bz2 scummvm-rg350-f7e01073077d7444a58d4ef770e202dafacf2740.zip |
DIRECTOR: Plug several leaks
Diffstat (limited to 'engines')
-rw-r--r-- | engines/director/archive.cpp | 2 | ||||
-rw-r--r-- | engines/director/lingo/lingo-code.cpp | 4 | ||||
-rw-r--r-- | engines/director/score.cpp | 12 |
3 files changed, 11 insertions, 7 deletions
diff --git a/engines/director/archive.cpp b/engines/director/archive.cpp index 6e1da0c8b7..ff97d3fce1 100644 --- a/engines/director/archive.cpp +++ b/engines/director/archive.cpp @@ -445,7 +445,7 @@ bool RIFXArchive::openStream(Common::SeekableReadStream *stream, uint32 startOff debugC(2, kDebugLoading, "KEY*: index: %d id: %d resTag: %s", index, id, tag2str(resTag)); const Resource &res = resources[index]; - debug(3, "Found RIFX resource: '%s' 0x%04x, %d @ 0x%08x (%d)", tag2str(resTag), id, res.size, res.offset, res.offset); + debug(3, "Found RIFX resource: '%s' id: 0x%04x, %d @ 0x%08x (%d)", tag2str(resTag), id, res.size, res.offset, res.offset); _types[resTag][id] = res; } diff --git a/engines/director/lingo/lingo-code.cpp b/engines/director/lingo/lingo-code.cpp index 37a333ba10..dd5977673e 100644 --- a/engines/director/lingo/lingo-code.cpp +++ b/engines/director/lingo/lingo-code.cpp @@ -729,6 +729,8 @@ void Lingo::c_repeatwithcode(void) { if (!g_lingo->_returning) g_lingo->_pc = end; /* next stmt */ + + delete counter; } void Lingo::c_exitRepeat(void) { @@ -972,6 +974,8 @@ void Lingo::c_global() { s->global = true; g_lingo->_pc += g_lingo->calcStringAlignment(name.c_str()); + + delete s; } void Lingo::c_instance() { diff --git a/engines/director/score.cpp b/engines/director/score.cpp index 66e5e2a172..1c78745330 100644 --- a/engines/director/score.cpp +++ b/engines/director/score.cpp @@ -842,13 +842,13 @@ void Score::loadFontMap(Common::SeekableSubReadStreamEndian &stream) { } Common::Rect Score::readRect(Common::ReadStreamEndian &stream) { - Common::Rect *rect = new Common::Rect(); - rect->top = stream.readUint16(); - rect->left = stream.readUint16(); - rect->bottom = stream.readUint16(); - rect->right = stream.readUint16(); + Common::Rect rect; + rect.top = stream.readUint16(); + rect.left = stream.readUint16(); + rect.bottom = stream.readUint16(); + rect.right = stream.readUint16(); - return *rect; + return rect; } void Score::startLoop() { |