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

dreammaster dreammaster at scummvm.org
Sat Jul 14 22:55:28 CEST 2018


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:
d39d4b9d4b TITANIC: Remove any unfreed parser nodes at the end of sentence parsing


Commit: d39d4b9d4b9b344fd28a56ec8bea3c266747ea50
    https://github.com/scummvm/scummvm/commit/d39d4b9d4b9b344fd28a56ec8bea3c266747ea50
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2018-07-14T13:51:06-07:00

Commit Message:
TITANIC: Remove any unfreed parser nodes at the end of sentence parsing

This fixes cases like bug #10621, which are somehow resulting from not
all parser nodes being properly freed after parsing the first sentence
finishes

Changed paths:
    engines/titanic/true_talk/tt_parser.cpp


diff --git a/engines/titanic/true_talk/tt_parser.cpp b/engines/titanic/true_talk/tt_parser.cpp
index 2caeef4..6b69c90 100644
--- a/engines/titanic/true_talk/tt_parser.cpp
+++ b/engines/titanic/true_talk/tt_parser.cpp
@@ -533,6 +533,13 @@ int TTparser::findFrames(TTsentence *sentence) {
 		status = checkForAction();
 	}
 
+	if (_nodesP) {
+		// This shouldn't ever happen
+		warning("Parser had left-over processing nodes");
+		while (_nodesP)
+			removeNode(_nodesP);
+	}
+
 	delete line;
 	return status;
 }





More information about the Scummvm-git-logs mailing list