[Scummvm-git-logs] scummvm master -> 3fd0003387445fe18f3d94173936b8d8cd9a3656

sev- sev at scummvm.org
Thu Apr 2 16:07:10 UTC 2020


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

Summary:
c529644d8c GRAPHICS: MACGUI: Plug memory leak
3fd0003387 DIRECTOR: Plug more memory leaks


Commit: c529644d8c644d920e96132a0eff21e902a87117
    https://github.com/scummvm/scummvm/commit/c529644d8c644d920e96132a0eff21e902a87117
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-04-02T18:06:35+02:00

Commit Message:
GRAPHICS: MACGUI: Plug memory leak

Changed paths:
    graphics/macgui/macwindowmanager.cpp


diff --git a/graphics/macgui/macwindowmanager.cpp b/graphics/macgui/macwindowmanager.cpp
index 93179d54ba..db65bcd0a4 100644
--- a/graphics/macgui/macwindowmanager.cpp
+++ b/graphics/macgui/macwindowmanager.cpp
@@ -195,6 +195,9 @@ MacWindowManager::~MacWindowManager() {
 	for (Common::HashMap<uint, BaseMacWindow *>::iterator it = _windows.begin(); it != _windows.end(); it++)
 		delete it->_value;
 
+	if (_palette)
+		free(_palette);
+
 	delete _fontMan;
 	delete _screenCopy;
 


Commit: 3fd0003387445fe18f3d94173936b8d8cd9a3656
    https://github.com/scummvm/scummvm/commit/3fd0003387445fe18f3d94173936b8d8cd9a3656
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-04-02T18:06:51+02:00

Commit Message:
DIRECTOR: Plug more memory leaks

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


diff --git a/engines/director/lingo/lingo.cpp b/engines/director/lingo/lingo.cpp
index 9bd50ea524..ba9c16bfbb 100644
--- a/engines/director/lingo/lingo.cpp
+++ b/engines/director/lingo/lingo.cpp
@@ -96,6 +96,9 @@ Lingo::~Lingo() {
 
 	for (SymbolHash::iterator it = _globalvars.begin(); it != _globalvars.end(); ++it)
 		delete it->_value;
+
+	for (Common::HashMap<uint32, Symbol *>::iterator it = _handlers.begin(); it != _handlers.end(); ++it)
+		delete it->_value;
 }
 
 ScriptContext *Lingo::getScriptContext(ScriptType type, uint16 id) {
diff --git a/engines/director/score.cpp b/engines/director/score.cpp
index 915438fefe..29a036e927 100644
--- a/engines/director/score.cpp
+++ b/engines/director/score.cpp
@@ -82,8 +82,8 @@ Score::Score(DirectorEngine *vm) {
 		_lingo->executeScript(kMovieScript, 0, 0);
 	}
 	_movieScriptCount = 0;
-	_labels = NULL;
-	_font = NULL;
+	_labels = nullptr;
+	_font = nullptr;
 
 	_versionMinor = _versionMajor = 0;
 	_currentFrameRate = 20;
@@ -474,6 +474,10 @@ Score::~Score() {
 		for (Common::HashMap<int, Cast *>::iterator it = _loadedCast->begin(); it != _loadedCast->end(); ++it)
 			delete it->_value;
 
+	if (_labels)
+		for (Common::SortedArray<Label *>::iterator it = _labels->begin(); it != _labels->end(); ++it)
+			delete *it;
+
 	delete _font;
 	delete _labels;
 	delete _loadedStxts;




More information about the Scummvm-git-logs mailing list