From 65ed5c4f79b2c0233c4de21dcad63729c7403200 Mon Sep 17 00:00:00 2001 From: Emagi Date: Sat, 8 Feb 2025 18:13:06 -0500 Subject: [PATCH] Revert "the destroy spells function was using the wrong mutex locks" This reverts commit d639e5496156130373ad8f2ddedfe000a5845409. --- source/WorldServer/LuaInterface.cpp | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/source/WorldServer/LuaInterface.cpp b/source/WorldServer/LuaInterface.cpp index 4a2733d..62437fa 100644 --- a/source/WorldServer/LuaInterface.cpp +++ b/source/WorldServer/LuaInterface.cpp @@ -143,7 +143,7 @@ void LuaInterface::Process() { } void LuaInterface::DestroySpells() { - MSpellScripts.writelock(__FUNCTION__, __LINE__); + MSpells.lock(); map >::iterator spell_script_itr; for(spell_script_itr = spell_scripts.begin(); spell_script_itr != spell_scripts.end(); spell_script_itr++) { map::iterator inner_itr; @@ -166,9 +166,7 @@ void LuaInterface::DestroySpells() { zone->GetSpellProcess()->CheckRemoveTargetFromSpell(cur_spell, false, true); } SetLuaUserDataStale(cur_spell); - MSpells.lock(); RemoveCurrentSpell(inner_itr->first, inner_itr->second, false, true, false); - MSpells.unlock(); lua_close(inner_itr->first); safe_delete(cur_spell); MSpellDelete.unlock(); @@ -177,13 +175,9 @@ void LuaInterface::DestroySpells() { Mutex* mutex = GetSpellScriptMutex(spell_script_itr->first.c_str()); safe_delete(mutex); } + current_spells.clear(); spell_scripts_mutex.clear(); spell_scripts.clear(); - - MSpellScripts.releasewritelock(__FUNCTION__, __LINE__); - - MSpells.lock(); - current_spells.clear(); MSpells.unlock(); }