diff options
author | Colin Snover | 2017-11-16 23:58:20 -0600 |
---|---|---|
committer | Eugene Sandulenko | 2017-11-18 22:35:12 +0100 |
commit | 0cc3d8f05d7302651ec5c8dce47ee511db829cf9 (patch) | |
tree | 1260de5bc217e9cd57766a1524dc83dac54e343d | |
parent | dcf8f588c700cb967baccdafd745ac1cffdd3554 (diff) | |
download | scummvm-rg350-0cc3d8f05d7302651ec5c8dce47ee511db829cf9.tar.gz scummvm-rg350-0cc3d8f05d7302651ec5c8dce47ee511db829cf9.tar.bz2 scummvm-rg350-0cc3d8f05d7302651ec5c8dce47ee511db829cf9.zip |
FULLPIPE: Fix leaks of ExCommands loaded from an archive
Nearly every construction of an ExCommand in the engine sets flag
2 of _excFlags. It may even be that the remaining ones that don't
are themselves bugs. This flag is needed in order for an ExCommand
to be cleaned up when its parent MessageQueue is deleted.
-rw-r--r-- | engines/fullpipe/messages.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/engines/fullpipe/messages.cpp b/engines/fullpipe/messages.cpp index fd58de2abf..d856d1beaf 100644 --- a/engines/fullpipe/messages.cpp +++ b/engines/fullpipe/messages.cpp @@ -303,6 +303,7 @@ bool MessageQueue::load(MfcArchive &file) { for (int i = 0; i < count; i++) { ExCommand *tmp = file.readClass<ExCommand>(); + tmp->_excFlags |= 2; _exCommands.push_back(tmp); } |