diff --git a/panda/src/physics/physicsManager.cxx b/panda/src/physics/physicsManager.cxx index 7c96ad2679..435e67fd21 100644 --- a/panda/src/physics/physicsManager.cxx +++ b/panda/src/physics/physicsManager.cxx @@ -106,6 +106,7 @@ remove_angular_force(AngularForce *f) { //////////////////////////////////////////////////////////////////// void PhysicsManager:: remove_physical(Physical *p) { + nassertv(this); nassertv(p); pvector< Physical * >::iterator found; @@ -113,8 +114,11 @@ remove_physical(Physical *p) { if (found == _physicals.end()) { return; } + nassertv(*found == p); + nassertv(p->_physics_manager != (PhysicsManager *) NULL); p->_physics_manager = (PhysicsManager *) NULL; _physicals.erase(found); + nassertv(_physicals.end() == find(_physicals.begin(), _physicals.end(), p)); } ////////////////////////////////////////////////////////////////////