aboutsummaryrefslogtreecommitdiff
path: root/engines/mutationofjb/commands/talkcommand.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/mutationofjb/commands/talkcommand.cpp')
-rw-r--r--engines/mutationofjb/commands/talkcommand.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/engines/mutationofjb/commands/talkcommand.cpp b/engines/mutationofjb/commands/talkcommand.cpp
index 18ce956696..8411e9080a 100644
--- a/engines/mutationofjb/commands/talkcommand.cpp
+++ b/engines/mutationofjb/commands/talkcommand.cpp
@@ -56,14 +56,13 @@ bool TalkCommandParser::parse(const Common::String &line, ScriptParseContext &,
Command::ExecuteResult TalkCommand::execute(ScriptExecutionContext &scriptExeCtx) {
if (!_task) {
- _task = new ConversationTask(scriptExeCtx.getGameData()._currentScene, scriptExeCtx.getGame().getGameData()._conversationInfo);
+ _task = TaskPtr(new ConversationTask(scriptExeCtx.getGameData()._currentScene, scriptExeCtx.getGame().getGameData()._conversationInfo, _mode));
scriptExeCtx.getGame().getTaskManager().addTask(_task);
}
if (_task->getState() == Task::FINISHED) {
scriptExeCtx.getGame().getTaskManager().removeTask(_task);
- delete _task;
- _task = nullptr;
+ _task.reset();
return Command::Finished;
}