diff options
author | Johannes Schickel | 2011-12-27 02:13:20 +0100 |
---|---|---|
committer | Johannes Schickel | 2011-12-27 02:15:39 +0100 |
commit | 1a5026570af441dd4e9e95ba507a9f6b3e0bebbf (patch) | |
tree | 82ecee5babeda71adcbe96b4a71a7a224ea19f05 | |
parent | 107805c34309401ac1367b8739a358dd2aaabf55 (diff) | |
download | scummvm-rg350-1a5026570af441dd4e9e95ba507a9f6b3e0bebbf.tar.gz scummvm-rg350-1a5026570af441dd4e9e95ba507a9f6b3e0bebbf.tar.bz2 scummvm-rg350-1a5026570af441dd4e9e95ba507a9f6b3e0bebbf.zip |
KYRA: Slight cleanup.
-rw-r--r-- | engines/kyra/script_eob.cpp | 6 | ||||
-rw-r--r-- | engines/kyra/script_eob.h | 4 |
2 files changed, 6 insertions, 4 deletions
diff --git a/engines/kyra/script_eob.cpp b/engines/kyra/script_eob.cpp index e5f26be210..ffdb717484 100644 --- a/engines/kyra/script_eob.cpp +++ b/engines/kyra/script_eob.cpp @@ -157,10 +157,10 @@ EoBInfProcessor::~EoBInfProcessor() { delete[] _flagTable; delete[] _stack; delete[] _scriptData; - for (Common::Array<const InfOpcode *>::const_iterator a = _opcodes.begin(); a != _opcodes.end(); ++a) { - delete(*a)->proc; + + for (Common::Array<const InfOpcode *>::const_iterator a = _opcodes.begin(); a != _opcodes.end(); ++a) delete *a; - } + _opcodes.clear(); } diff --git a/engines/kyra/script_eob.h b/engines/kyra/script_eob.h index 3804db07c6..66323d6846 100644 --- a/engines/kyra/script_eob.h +++ b/engines/kyra/script_eob.h @@ -91,8 +91,10 @@ private: Screen_EoB *_screen; typedef Common::Functor1Mem<int8*, int, EoBInfProcessor> InfProc; - struct InfOpcode { + struct InfOpcode : private Common::NonCopyable { InfOpcode(InfProc *p, const char *d) : proc(p), desc(d) {} + ~InfOpcode() { delete proc; } + InfProc *proc; Common::String desc; }; |