From 0a44b54ee27a93d6609070d9ae3fa68ff419da85 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Tue, 19 Sep 2017 20:00:32 -0400 Subject: TITANIC: Fix memory leaks on shutdown --- engines/titanic/main_game_window.cpp | 2 ++ engines/titanic/true_talk/doorbot_script.cpp | 5 +++++ engines/titanic/true_talk/doorbot_script.h | 1 + 3 files changed, 8 insertions(+) (limited to 'engines/titanic') diff --git a/engines/titanic/main_game_window.cpp b/engines/titanic/main_game_window.cpp index d84ed8540d..f404487542 100644 --- a/engines/titanic/main_game_window.cpp +++ b/engines/titanic/main_game_window.cpp @@ -50,6 +50,8 @@ CMainGameWindow::CMainGameWindow(TitanicEngine *vm): _vm(vm), CMainGameWindow::~CMainGameWindow() { delete _project; + delete _gameView; + delete _gameManager; } void CMainGameWindow::applicationStarting() { diff --git a/engines/titanic/true_talk/doorbot_script.cpp b/engines/titanic/true_talk/doorbot_script.cpp index ab50eca0c6..ac0b1aff21 100644 --- a/engines/titanic/true_talk/doorbot_script.cpp +++ b/engines/titanic/true_talk/doorbot_script.cpp @@ -61,6 +61,11 @@ DoorbotScript::DoorbotScript(int val1, const char *charClass, int v2, _states.load("States/Doorbot"); } +DoorbotScript::~DoorbotScript() { + for (int idx = 0; idx < 11; ++idx) + _sentences[idx].clear(); +} + void DoorbotScript::setupSentences() { for (int idx = 35; idx < 40; ++idx) CTrueTalkManager::setFlags(idx, 0); diff --git a/engines/titanic/true_talk/doorbot_script.h b/engines/titanic/true_talk/doorbot_script.h index 78ebcbfd68..536e9d42ca 100644 --- a/engines/titanic/true_talk/doorbot_script.h +++ b/engines/titanic/true_talk/doorbot_script.h @@ -58,6 +58,7 @@ private: public: DoorbotScript(int val1, const char *charClass, int v2, const char *charName, int v3, int val2, int v4, int v5, int v6, int v7); + virtual ~DoorbotScript(); /** * Chooses and adds a conversation response based on a specified tag Id. -- cgit v1.2.3