From 369ad3c593886cb80e82397d8bcd133c89e0459b Mon Sep 17 00:00:00 2001 From: Cekis Date: Tue, 10 Sep 2019 13:53:37 -0700 Subject: [PATCH] Fixed issue causing crash after destroying enemy starships This fix was donated by the SWG Legends team as they too ran into issues with it. Thanks guys! --- .../serverGame/src/shared/object/CreatureObject.cpp | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/engine/server/library/serverGame/src/shared/object/CreatureObject.cpp b/engine/server/library/serverGame/src/shared/object/CreatureObject.cpp index 9eaf0211..8e801159 100755 --- a/engine/server/library/serverGame/src/shared/object/CreatureObject.cpp +++ b/engine/server/library/serverGame/src/shared/object/CreatureObject.cpp @@ -13392,18 +13392,11 @@ void CreatureObject::setGroupMissionCriticalObjects(GroupMissionCriticalObjectSe DEBUG_FATAL(!isAuthoritative(), ("CreatureObject::setGroupMissionCriticalObjects: called on non-authoritative object %s", getDebugInformation(true).c_str())); if (isAuthoritative()) { + m_groupMissionCriticalObjectSet.clear(); //-- Anything that is not in our set, we need to add { for (GroupMissionCriticalObjectSet::const_iterator iter = groupMissionCriticalObjectSet.begin(); iter != groupMissionCriticalObjectSet.end(); ++iter) - if (!m_groupMissionCriticalObjectSet.contains(*iter)) - m_groupMissionCriticalObjectSet.insert(*iter); - } - - //-- Anything that is not in the original set, we need to remove - { - for (GroupMissionCriticalObjectSet::const_iterator iter(m_groupMissionCriticalObjectSet.begin()); iter != m_groupMissionCriticalObjectSet.end(); ++iter) - if (groupMissionCriticalObjectSet.find(*iter) == groupMissionCriticalObjectSet.end()) - m_groupMissionCriticalObjectSet.erase(*iter); + m_groupMissionCriticalObjectSet.insert(*iter); } } }