diff options
Diffstat (limited to 'engines/pink/objects/handlers/handler.cpp')
-rw-r--r-- | engines/pink/objects/handlers/handler.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/engines/pink/objects/handlers/handler.cpp b/engines/pink/objects/handlers/handler.cpp index a848cfd98e..8916bc0b3b 100644 --- a/engines/pink/objects/handlers/handler.cpp +++ b/engines/pink/objects/handlers/handler.cpp @@ -37,7 +37,7 @@ void Handler::deserialize(Archive &archive) { archive >> _sideEffects; } -bool Handler::isSuitable(LeadActor *actor) { +bool Handler::isSuitable(Actor *actor) { for (int i = 0; i < _conditions.size(); ++i) { if (!_conditions[i]->evaluate(actor)){ return false; @@ -56,6 +56,15 @@ void Handler::onMessage(LeadActor *actor) { executeSideEffects(actor); } +Handler::~Handler() { + for (int i = 0; i < _sideEffects.size(); ++i) { + delete _sideEffects[i]; + } + for (int i = 0; i < _conditions.size(); ++i) { + delete _conditions[i]; + } +} + void HandlerSequences::deserialize(Archive &archive) { Handler::deserialize(archive); archive >> _sequences; |