From bba1a7e5a92f0df2ae879f0ea0cd064a25c915ab Mon Sep 17 00:00:00 2001 From: Jared Adams Date: Sun, 25 Apr 2010 19:17:03 -0600 Subject: Fix resource errors when chaning servers Reviewed-by: Freeyorp --- src/client.cpp | 16 ++++++++-------- src/statuseffect.cpp | 2 ++ 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 map) for (it = map.begin(); it != map.end(); it++) delete (*it).second; + + map.clear(); } void StatusEffect::unload() -- cgit v1.2.3-70-g09d2