summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/game-server/itemmanager.h3
-rw-r--r--src/game-server/main-game.cpp14
-rw-r--r--src/game-server/monstermanager.h7
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.
*/