diff --git a/Demos/ColladaDemo/ColladaConverter.cpp b/Demos/ColladaDemo/ColladaConverter.cpp index aa62311e7..53d5e15ae 100644 --- a/Demos/ColladaDemo/ColladaConverter.cpp +++ b/Demos/ColladaDemo/ColladaConverter.cpp @@ -704,7 +704,7 @@ void ColladaConverter::PreparePhysicsObject(struct btRigidBodyInput& input, bool btRigidBody* body= createRigidBody(isDynamics,mass,startTransform,colShape); - if (body && body->m_userObjectPointer) + if (body) { //bodyName is used as identifier for constraints body->m_userObjectPointer = (void*)input.m_bodyName; diff --git a/src/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.cpp b/src/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.cpp index f00c95f0f..df5336371 100644 --- a/src/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.cpp +++ b/src/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.cpp @@ -503,7 +503,9 @@ void btDiscreteDynamicsWorld::updateAabbs() btPoint3 minAabb,maxAabb; colObj->m_collisionShape->getAabb(colObj->m_worldTransform, minAabb,maxAabb); btSimpleBroadphase* bp = (btSimpleBroadphase*)m_broadphasePairCache; - if ( colObj->m_collisionShape->isInfinite() || ((maxAabb-minAabb).length2() < 1e12f)) + + //moving objects should be moderately sized, probably something wrong if not + if ( colObj->isStaticObject() || ((maxAabb-minAabb).length2() < 1e12f)) { bp->setAabb(body->m_broadphaseHandle,minAabb,maxAabb); } else