diff --git a/source/WorldServer/LuaInterface.cpp b/source/WorldServer/LuaInterface.cpp index 17d065f..ce6c7c8 100644 --- a/source/WorldServer/LuaInterface.cpp +++ b/source/WorldServer/LuaInterface.cpp @@ -153,7 +153,7 @@ void LuaInterface::DestroySpells() { RemoveCurrentSpell(inner_itr->first, inner_itr->second, false, true, false); MSpellDelete.unlock(); lua_close(inner_itr->first); - // spell is deleted in this context by SpellProcess::DeleteSpell because removing_all_spells = true + safe_delete(cur_spell); } Mutex* mutex = GetSpellScriptMutex(spell_script_itr->first.c_str()); diff --git a/source/WorldServer/SpellProcess.cpp b/source/WorldServer/SpellProcess.cpp index 88e0730..2d08c38 100644 --- a/source/WorldServer/SpellProcess.cpp +++ b/source/WorldServer/SpellProcess.cpp @@ -67,7 +67,7 @@ void SpellProcess::RemoveAllSpells(bool reload_spells){ active_spells_itr = active_spells.begin(); while(active_spells_itr.Next()){ - active_spells.Remove(active_spells_itr->value, true); + active_spells.Remove(active_spells_itr->value); } active_spells.clear();