Core/Units: protect m_Controlled unit set against removing non-existing pointers and log owner and unit to track down potential crashes

This commit is contained in:
Ovahlord committed 2020-04-28 20:42:24 +02:00
1 parent ca76ddf4b5
commit bedd554c79
2 files changed
+13 -6

No files matched your search

+2 -1
View File
@@ -6195,7 +6195,8 @@ void Unit::SetMinion(Minion* minion, bool apply)
return;
}
m_Controlled.erase(minion);
if (m_Controlled.find(minion) != m_Controlled.end())
m_Controlled.erase(minion);
if (minion->m_Properties && SummonTitle(minion->m_Properties->Title) == SummonTitle::Companion)
if (GetCritterGUID() == minion->GetGUID())