Merge branch 'donoteraseme' into 'master'

#6192: Stop crashing in moveActors()

See merge request OpenMW/openmw!1085
cherry-pick-2bee171c
psi29a 3 years ago
commit bd1bf4ec73

@ -519,13 +519,12 @@ namespace MWPhysics
mObjects.emplace(updated, std::move(obj)); mObjects.emplace(updated, std::move(obj));
} }
ActorMap::iterator foundActor = mActors.find(old); auto actorNode = mActors.extract(old);
if (foundActor != mActors.end()) if (!actorNode.empty())
{ {
auto actor = foundActor->second; actorNode.key() = updated;
actor->updatePtr(updated); actorNode.mapped()->updatePtr(updated);
mActors.erase(foundActor); mActors.insert(std::move(actorNode));
mActors.emplace(updated, std::move(actor));
} }
for (auto& [_, actor] : mActors) for (auto& [_, actor] : mActors)

Loading…
Cancel
Save