From 7c08c716dc050d0ce57ca7b9554e558a88145988 Mon Sep 17 00:00:00 2001 From: Tekaoh <45337851+Tekaoh@users.noreply.github.com> Date: Sat, 28 Sep 2019 12:54:04 -0500 Subject: [PATCH] Revert "Fixed issue causing crash after destroying enemy starships" This reverts commit 369ad3c593886cb80e82397d8bcd133c89e0459b. --- .../serverGame/src/shared/object/CreatureObject.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/engine/server/library/serverGame/src/shared/object/CreatureObject.cpp b/engine/server/library/serverGame/src/shared/object/CreatureObject.cpp index 8e801159..9eaf0211 100755 --- a/engine/server/library/serverGame/src/shared/object/CreatureObject.cpp +++ b/engine/server/library/serverGame/src/shared/object/CreatureObject.cpp @@ -13392,11 +13392,18 @@ 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) - m_groupMissionCriticalObjectSet.insert(*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); } } }