[Scummvm-git-logs] scummvm master -> 16a6f22b4cadd2d2c1815fae35e3b0deaf39724c
djsrv
dservilla at gmail.com
Wed Jul 7 03:35:32 UTC 2021
This automated email contains information about 4 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
0294513802 DIRECTOR: Fix uninitialized fields
9ec8fbb649 DIRECTOR: Fix resource leaks
1f26871c97 DIRECTOR: LINGO: Check if end is non-negative before using
16a6f22b4c DIRECTOR: LINGO: Remove _methodVarsStash
Commit: 02945138028daa23e597f0fb9f8168e08c4591b5
https://github.com/scummvm/scummvm/commit/02945138028daa23e597f0fb9f8168e08c4591b5
Author: djsrv (dservilla at gmail.com)
Date: 2021-07-06T23:33:09-04:00
Commit Message:
DIRECTOR: Fix uninitialized fields
Changed paths:
engines/director/archive.cpp
engines/director/cast.cpp
engines/director/cast.h
engines/director/castmember.cpp
engines/director/lingo/lingo-codegen.cpp
diff --git a/engines/director/archive.cpp b/engines/director/archive.cpp
index d1d52b4739..0b0e7a1ac5 100644
--- a/engines/director/archive.cpp
+++ b/engines/director/archive.cpp
@@ -395,6 +395,7 @@ Common::SeekableReadStreamEndian *RIFFArchive::getResource(uint32 tag, uint16 id
RIFXArchive::RIFXArchive() : Archive() {
_isBigEndian = true;
_rifxType = 0;
+ _ilsBodyOffset = 0;
}
RIFXArchive::~RIFXArchive() {
diff --git a/engines/director/cast.cpp b/engines/director/cast.cpp
index 4cc727b5b3..20afc41677 100644
--- a/engines/director/cast.cpp
+++ b/engines/director/cast.cpp
@@ -79,6 +79,8 @@ Cast::Cast(Movie *movie, uint16 castLibID, bool isShared) {
_version = 0;
_platform = g_director->getPlatform();
+ _stageColor = 0;
+
_loadedStxts = nullptr;
_loadedCast = nullptr;
diff --git a/engines/director/cast.h b/engines/director/cast.h
index 90e6cbd691..3ecb7b76f4 100644
--- a/engines/director/cast.h
+++ b/engines/director/cast.h
@@ -62,7 +62,7 @@ struct FontInfo {
bool remapChars;
FontSizeMap sizeMap;
- FontInfo() : remapChars(false) {}
+ FontInfo() : toFont(0), remapChars(false) {}
};
typedef Common::HashMap<uint16, FontInfo *> FontMap;
diff --git a/engines/director/castmember.cpp b/engines/director/castmember.cpp
index 68ec6ec93c..d4ff03a564 100644
--- a/engines/director/castmember.cpp
+++ b/engines/director/castmember.cpp
@@ -48,6 +48,8 @@ CastMember::CastMember(Cast *cast, uint16 castId, Common::SeekableReadStreamEndi
_modified = true;
_objType = kCastMemberObj;
+
+ _widget = nullptr;
}
CastMemberInfo *CastMember::getInfo() {
@@ -259,6 +261,7 @@ DigitalVideoCastMember::DigitalVideoCastMember(Cast *cast, uint16 castId, Common
_type = kCastDigitalVideo;
_video = nullptr;
_lastFrame = nullptr;
+ _channel = nullptr;
_getFirstFrame = false;
_duration = 0;
@@ -541,7 +544,6 @@ TextCastMember::TextCastMember(Cast *cast, uint16 castId, Common::SeekableReadSt
_textSlant = 0;
_bgpalinfo1 = _bgpalinfo2 = _bgpalinfo3 = 0;
_fgpalinfo1 = _fgpalinfo2 = _fgpalinfo3 = 0xff;
- _widget = nullptr;
if (version < kFileVer400) {
_flags1 = flags1; // region: 0 - auto, 1 - matte, 2 - disabled
diff --git a/engines/director/lingo/lingo-codegen.cpp b/engines/director/lingo/lingo-codegen.cpp
index 1114cd78fd..85f310c2ea 100644
--- a/engines/director/lingo/lingo-codegen.cpp
+++ b/engines/director/lingo/lingo-codegen.cpp
@@ -81,6 +81,7 @@ LingoCompiler::LingoCompiler() {
_assemblyContext = nullptr;
_indef = false;
+ _methodVars = nullptr;
_linenumber = _colnumber = _bytenumber = 0;
_lines[0] = _lines[1] = _lines[2] = nullptr;
Commit: 9ec8fbb649c8b08d842b39af6cb238a1f8179197
https://github.com/scummvm/scummvm/commit/9ec8fbb649c8b08d842b39af6cb238a1f8179197
Author: djsrv (dservilla at gmail.com)
Date: 2021-07-06T23:33:14-04:00
Commit Message:
DIRECTOR: Fix resource leaks
Changed paths:
engines/director/archive.cpp
engines/director/lingo/lingo.cpp
diff --git a/engines/director/archive.cpp b/engines/director/archive.cpp
index 0b0e7a1ac5..7c028bd21e 100644
--- a/engines/director/archive.cpp
+++ b/engines/director/archive.cpp
@@ -493,10 +493,9 @@ bool RIFXArchive::openStream(Common::SeekableReadStream *stream, uint32 startOff
} else {
warning("RIFXArchive::openStream(): Can not open dump file %s", buf);
}
-
- free(dumpData);
- delete dumpStream;
}
+ free(dumpData);
+ delete dumpStream;
// If we couldn't read the map, we can't do anything past this point.
if (!readMapSuccess)
diff --git a/engines/director/lingo/lingo.cpp b/engines/director/lingo/lingo.cpp
index 519f3eb333..ff4844ba19 100644
--- a/engines/director/lingo/lingo.cpp
+++ b/engines/director/lingo/lingo.cpp
@@ -196,6 +196,7 @@ Lingo::~Lingo() {
resetLingo();
cleanupFuncs();
cleanupMethods();
+ delete _compiler;
}
void Lingo::reloadBuiltIns() {
Commit: 1f26871c97d733a1c780c5c20c5d2d1c2292c172
https://github.com/scummvm/scummvm/commit/1f26871c97d733a1c780c5c20c5d2d1c2292c172
Author: djsrv (dservilla at gmail.com)
Date: 2021-07-06T23:35:25-04:00
Commit Message:
DIRECTOR: LINGO: Check if end is non-negative before using
Changed paths:
engines/director/lingo/lingo-code.cpp
diff --git a/engines/director/lingo/lingo-code.cpp b/engines/director/lingo/lingo-code.cpp
index 882479e683..6ae505bfb8 100644
--- a/engines/director/lingo/lingo-code.cpp
+++ b/engines/director/lingo/lingo-code.cpp
@@ -1623,7 +1623,10 @@ void LC::c_delete() {
}
}
- Common::String res = text.substr(0, start) + text.substr(end);
+ Common::String res = text.substr(0, start);
+ if (end >= 0) {
+ res += text.substr(end);
+ }
Datum s;
s.u.s = new Common::String(res);
s.type = STRING;
Commit: 16a6f22b4cadd2d2c1815fae35e3b0deaf39724c
https://github.com/scummvm/scummvm/commit/16a6f22b4cadd2d2c1815fae35e3b0deaf39724c
Author: djsrv (dservilla at gmail.com)
Date: 2021-07-06T23:35:32-04:00
Commit Message:
DIRECTOR: LINGO: Remove _methodVarsStash
Changed paths:
engines/director/lingo/lingo-codegen.h
diff --git a/engines/director/lingo/lingo-codegen.h b/engines/director/lingo/lingo-codegen.h
index 8e69ec9e99..251e08951f 100644
--- a/engines/director/lingo/lingo-codegen.h
+++ b/engines/director/lingo/lingo-codegen.h
@@ -69,7 +69,6 @@ public:
bool _refMode;
Common::HashMap<Common::String, VarType, Common::IgnoreCase_Hash, Common::IgnoreCase_EqualTo> *_methodVars;
- Common::HashMap<Common::String, VarType, Common::IgnoreCase_Hash, Common::IgnoreCase_EqualTo> *_methodVarsStash;
bool _hadError;
More information about the Scummvm-git-logs
mailing list