diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/game-server/itemmanager.h | 3 | ||||
-rw-r--r-- | src/game-server/main-game.cpp | 14 | ||||
-rw-r--r-- | src/game-server/monstermanager.h | 7 |
3 files changed, 16 insertions, 8 deletions
diff --git a/src/game-server/itemmanager.h b/src/game-server/itemmanager.h index c310df44..efd31710 100644 --- a/src/game-server/itemmanager.h +++ b/src/game-server/itemmanager.h @@ -40,6 +40,9 @@ class ItemManager mItemDatabaseVersion(0) {} + ~ItemManager() + { deinitialize(); } + /** * Loads item reference file. */ diff --git a/src/game-server/main-game.cpp b/src/game-server/main-game.cpp index 35b809e1..9d96a6ab 100644 --- a/src/game-server/main-game.cpp +++ b/src/game-server/main-game.cpp @@ -242,16 +242,16 @@ static void deinitializeServer() enet_deinitialize(); // Destroy message handlers - delete gameHandler; - delete accountHandler; - delete postMan; - delete gBandwidth; + delete gameHandler; gameHandler = 0; + delete accountHandler; accountHandler = 0; + delete postMan; postMan = 0; + delete gBandwidth; gBandwidth = 0; // Destroy Managers - delete stringFilter; - monsterManager->deinitialize(); + delete stringFilter; stringFilter = 0; + delete monsterManager; monsterManager = 0; delete skillManager; skillManager = 0; - itemManager->deinitialize(); + delete itemManager; itemManager = 0; MapManager::deinitialize(); StatusManager::deinitialize(); diff --git a/src/game-server/monstermanager.h b/src/game-server/monstermanager.h index f04a5733..07ebb58f 100644 --- a/src/game-server/monstermanager.h +++ b/src/game-server/monstermanager.h @@ -30,8 +30,13 @@ class MonsterClass; class MonsterManager { public: + MonsterManager(const std::string &file): + mMonsterReferenceFile(file) + {} + + ~MonsterManager() + { deinitialize(); } - MonsterManager(const std::string &file) : mMonsterReferenceFile(file) {} /** * Loads monster reference file. */ |