[Scummvm-git-logs] scummvm master -> d9da411b069c17261509cca9ce2703d7218a3d1f

rvanlaar noreply at scummvm.org
Sun Feb 5 21:56:55 UTC 2023


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
d9da411b06 DIRECTOR: LINGO: Fix segfaults in clean up


Commit: d9da411b069c17261509cca9ce2703d7218a3d1f
    https://github.com/scummvm/scummvm/commit/d9da411b069c17261509cca9ce2703d7218a3d1f
Author: Roland van Laar (roland at rolandvanlaar.nl)
Date: 2023-02-05T22:56:49+01:00

Commit Message:
DIRECTOR: LINGO: Fix segfaults in clean up

Split resetLingo into the cleanup and reset part.
cleanup is necessary on ~Lingo. The reset and cleanup part
when loading the next movie.

Changed paths:
    engines/director/lingo/lingo.cpp
    engines/director/lingo/lingo.h


diff --git a/engines/director/lingo/lingo.cpp b/engines/director/lingo/lingo.cpp
index 7aa9bcb2145..3e85f4751d6 100644
--- a/engines/director/lingo/lingo.cpp
+++ b/engines/director/lingo/lingo.cpp
@@ -224,7 +224,7 @@ Lingo::Lingo(DirectorEngine *vm) : _vm(vm) {
 }
 
 Lingo::~Lingo() {
-	resetLingo();
+	cleanupLingo();
 	cleanupFuncs();
 	cleanupMethods();
 	delete _compiler;
@@ -707,15 +707,17 @@ void Lingo::resetLingoGo() {
 	// puppetSprite
 }
 
-void Lingo::resetLingo() {
-	debugC(3, kDebugLingoExec, "Resetting Lingo!");
-
+void Lingo::cleanupLingo() {
 	g_director->_wm->removeMenu();
 
 	while (_state->callstack.size()) {
 		popContext(true);
 	}
+}
 
+void Lingo::resetLingo() {
+	debugC(3, kDebugLingoExec, "Resetting Lingo!");
+	cleanupLingo();
 	resetLingoGo();
 }
 
diff --git a/engines/director/lingo/lingo.h b/engines/director/lingo/lingo.h
index ddfbfb4d24d..04268942a39 100644
--- a/engines/director/lingo/lingo.h
+++ b/engines/director/lingo/lingo.h
@@ -314,7 +314,9 @@ public:
 	~Lingo();
 
 	void resetLingo();
+	void cleanupLingo();
 	void resetLingoGo();
+
 	int getMenuNum();
 	int getMenuItemsNum(Datum &d);
 




More information about the Scummvm-git-logs mailing list