summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYohann Ferreira <yohann_dot_ferreira_at_orange_dot_efer>2011-08-26 01:12:25 +0200
committerYohann Ferreira <yohann_dot_ferreira_at_orange_dot_efer>2011-08-26 01:12:25 +0200
commit800772fc10d923b315277490e7e009fe116e8ce5 (patch)
treebdae487b3d7b701e14a18fe5da4138f2cc0b4286
parent0f520050cf42cd20a2845e8900249f3e965db4fd (diff)
downloadmanaserv-800772fc10d923b315277490e7e009fe116e8ce5.tar.gz
manaserv-800772fc10d923b315277490e7e009fe116e8ce5.tar.bz2
manaserv-800772fc10d923b315277490e7e009fe116e8ce5.tar.xz
manaserv-800772fc10d923b315277490e7e009fe116e8ce5.zip
Fixed mem leak on the item and monster manager unloading process
-rw-r--r--src/game-server/itemmanager.h3
-rw-r--r--src/game-server/main-game.cpp4
-rw-r--r--src/game-server/monstermanager.h7
3 files changed, 11 insertions, 3 deletions
diff --git a/src/game-server/itemmanager.h b/src/game-server/itemmanager.h
index 9eee326e..cc4fb0ae 100644
--- a/src/game-server/itemmanager.h
+++ b/src/game-server/itemmanager.h
@@ -58,6 +58,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 6b4ae8fa..529e0690 100644
--- a/src/game-server/main-game.cpp
+++ b/src/game-server/main-game.cpp
@@ -249,8 +249,8 @@ static void deinitializeServer()
// Destroy Managers
delete stringFilter;
- monsterManager->deinitialize();
- itemManager->deinitialize();
+ delete monsterManager; monsterManager = 0;
+ delete itemManager; itemManager = 0;
delete skillManager; skillManager = 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.
*/