Browse Source

Make sure a null pointer is not returned from RigidBody::GetCollidingBodies(), if a colliding body was just destroyed.

Lasse Öörni 10 years ago
parent
commit
04bbaf588a
1 changed files with 8 additions and 2 deletions
  1. 8 2
      Source/Urho3D/Physics/PhysicsWorld.cpp

+ 8 - 2
Source/Urho3D/Physics/PhysicsWorld.cpp

@@ -585,9 +585,15 @@ void PhysicsWorld::GetRigidBodies(PODVector<RigidBody*>& result, const RigidBody
          i != currentCollisions_.End(); ++i)
     {
         if (i->first_.first_ == body)
-            result.Push(i->first_.second_);
+        {
+            if (i->first_.second_)
+                result.Push(i->first_.second_);
+        }
         else if (i->first_.second_ == body)
-            result.Push(i->first_.first_);
+        {
+            if (i->first_.first_)
+                result.Push(i->first_.first_);
+        }
     }
 }