summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJared Adams <jaxad0127@gmail.com>2010-04-25 19:17:03 -0600
committerJared Adams <jaxad0127@gmail.com>2010-04-25 23:11:29 -0600
commitbba1a7e5a92f0df2ae879f0ea0cd064a25c915ab (patch)
treebfd9b23ad26a3e6d9f6b3cbf1e3de68b4875ff12
parent5e75167f64473d645e40d7f6eb58eb1ef8f6cdea (diff)
downloadmana-bba1a7e5a92f0df2ae879f0ea0cd064a25c915ab.tar.gz
mana-bba1a7e5a92f0df2ae879f0ea0cd064a25c915ab.tar.bz2
mana-bba1a7e5a92f0df2ae879f0ea0cd064a25c915ab.tar.xz
mana-bba1a7e5a92f0df2ae879f0ea0cd064a25c915ab.zip
Fix resource errors when chaning servers
Reviewed-by: Freeyorp
-rw-r--r--src/client.cpp16
-rw-r--r--src/statuseffect.cpp2
2 files changed, 10 insertions, 8 deletions
diff --git a/src/client.cpp b/src/client.cpp
index 44df362e..8d916add 100644
--- a/src/client.cpp
+++ b/src/client.cpp
@@ -435,14 +435,6 @@ Client::~Client()
// Shutdown sound
sound.close();
- // Unload XML databases
- ColorDB::unload();
- EmoteDB::unload();
- ItemDB::unload();
- MonsterDB::unload();
- NPCDB::unload();
- StatusEffect::unload();
-
ResourceManager::deleteInstance();
SDL_FreeSurface(mIcon);
@@ -583,6 +575,14 @@ int Client::exec()
{
delete game;
game = 0;
+
+ // Unload XML databases
+ ColorDB::unload();
+ EmoteDB::unload();
+ ItemDB::unload();
+ MonsterDB::unload();
+ NPCDB::unload();
+ StatusEffect::unload();
}
mOldState = mState;
diff --git a/src/statuseffect.cpp b/src/statuseffect.cpp
index 66e8010d..49619f8a 100644
--- a/src/statuseffect.cpp
+++ b/src/statuseffect.cpp
@@ -169,6 +169,8 @@ void unloadMap(std::map<int, StatusEffect *> map)
for (it = map.begin(); it != map.end(); it++)
delete (*it).second;
+
+ map.clear();
}
void StatusEffect::unload()