From f70161dcc5af3c2c958d4df559b77ace735fc7d4 Mon Sep 17 00:00:00 2001 From: Ovah Date: Tue, 15 Sep 2020 14:49:18 +0200 Subject: Core/Spells: fix a possible crash when a target that has been focused during spell casts disappears (cherry picked from commit 0d152e932cdd986f62ae22bd9fc40569892a2453) --- src/server/game/Spells/Spell.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/server/game/Spells/Spell.cpp') diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index 2952294b8d4..a2d737bb26c 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -3552,7 +3552,8 @@ void Spell::_cast(bool skipCheck) // The spell focusing is making sure that we have a valid cast target guid when we need it so only check for a guid value here. if (Creature* creatureCaster = m_caster->ToCreature()) if (!creatureCaster->GetTarget().IsEmpty() && !creatureCaster->HasUnitFlag(UNIT_FLAG_POSSESSED)) - creatureCaster->SetInFront(ObjectAccessor::GetUnit(*creatureCaster, creatureCaster->GetTarget())); + if (WorldObject const* target = ObjectAccessor::GetUnit(*creatureCaster, creatureCaster->GetTarget())) + creatureCaster->SetInFront(target); SelectSpellTargets(); -- cgit v1.2.3