find and remove dangling pointers from _activeStaticBodies on remove

This commit is contained in:
Andrew Meadows 2018-11-05 11:14:32 -08:00
parent c6cde2d412
commit 9e7b68fead

View file

@ -289,6 +289,12 @@ void PhysicsEngine::processTransaction(PhysicsEngine::Transaction& transaction)
bumpAndPruneContacts(object);
btRigidBody* body = object->getRigidBody();
if (body) {
if (_activeStaticBodies.size() > 0) {
std::set<btRigidBody*>::iterator itr = _activeStaticBodies.find(body);
if (itr != _activeStaticBodies.end()) {
_activeStaticBodies.erase(itr);
}
}
removeDynamicsForBody(body);
_dynamicsWorld->removeRigidBody(body);