Core/Units: Call Unit::InterruptNonMeleeSpells before RemoveFromWorld to make GetCaster() return a valid pointer on AuraEffect unapply methods.
Fixes a crash in VisitorHelper related to Mind Vision. closes #43
This commit is contained in:
@@ -13301,6 +13301,9 @@ void Unit::RemoveFromWorld()
|
||||
|
||||
void Unit::CleanupsBeforeDelete(bool finalCleanup)
|
||||
{
|
||||
// This needs to be before RemoveFromWorld to make GetCaster() return a valid pointer on aura removal
|
||||
InterruptNonMeleeSpells(true);
|
||||
|
||||
if (IsInWorld())
|
||||
RemoveFromWorld();
|
||||
|
||||
@@ -13313,7 +13316,6 @@ void Unit::CleanupsBeforeDelete(bool finalCleanup)
|
||||
if (finalCleanup)
|
||||
m_cleanupDone = true;
|
||||
|
||||
InterruptNonMeleeSpells(true);
|
||||
m_Events.KillAllEvents(false); // non-delatable (currently casted spells) will not deleted now but it will deleted at call in Map::RemoveAllObjectsInRemoveList
|
||||
CombatStop();
|
||||
ClearComboPointHolders();
|
||||
|
||||
Reference in New Issue
Block a user