Set LUA User data stale and removing pointer references before actual mem deletion of any spell data
This commit is contained in:
parent
0a52ab2933
commit
92b8e406e3
@ -1619,9 +1619,13 @@ void LuaInterface::DeletePendingSpells(bool all) {
|
||||
tmp_deletes.push_back(itr->first);
|
||||
}
|
||||
LuaSpell* spell = 0;
|
||||
|
||||
for (del_itr = tmp_deletes.begin(); del_itr != tmp_deletes.end(); del_itr++) {
|
||||
spell = *del_itr;
|
||||
|
||||
SetLuaUserDataStale(spell);
|
||||
RemoveCurrentSpell(spell->state, spell, false);
|
||||
|
||||
if(!all) {
|
||||
// rely on targets the spell->caster could be corrupt
|
||||
bool spellDeleted = false;
|
||||
@ -1654,9 +1658,6 @@ void LuaInterface::DeletePendingSpells(bool all) {
|
||||
RemoveCustomSpell(spell->spell->GetSpellID());
|
||||
safe_delete(spell->spell);
|
||||
}
|
||||
|
||||
SetLuaUserDataStale(spell);
|
||||
RemoveCurrentSpell(spell->state, spell, false);
|
||||
}
|
||||
}
|
||||
MSpellDelete.unlock();
|
||||
|
Loading…
x
Reference in New Issue
Block a user