diff options
author | Erwin Coumans <blender@erwincoumans.com> | 2008-09-23 09:00:00 +0400 |
---|---|---|
committer | Erwin Coumans <blender@erwincoumans.com> | 2008-09-23 09:00:00 +0400 |
commit | d2d56e30589caf5bf14f39f21c6a0321e0c01d65 (patch) | |
tree | 0bce31bb05957bb7b9ac4e7093978ab9390f1a87 /extern/bullet2/src/BulletDynamics/Dynamics | |
parent | f187d680d8db02cca6d379ded069cea136169e8a (diff) |
bugfix for [#7006] Sleeping Objects losing Ghost Constraint
Bullet logic bug in (de)activation/island management: deactivated 'fantom' objects do merge islands, in particular when connected by constraints. (fantom = object with collision detection but no collision response).
Diffstat (limited to 'extern/bullet2/src/BulletDynamics/Dynamics')
-rw-r--r-- | extern/bullet2/src/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/extern/bullet2/src/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.cpp b/extern/bullet2/src/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.cpp index e46c4e6136b..329a1d9cde3 100644 --- a/extern/bullet2/src/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.cpp +++ b/extern/bullet2/src/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.cpp @@ -688,8 +688,8 @@ void btDiscreteDynamicsWorld::calculateSimulationIslands() const btRigidBody* colObj0 = &constraint->getRigidBodyA(); const btRigidBody* colObj1 = &constraint->getRigidBodyB(); - if (((colObj0) && ((colObj0)->mergesSimulationIslands())) && - ((colObj1) && ((colObj1)->mergesSimulationIslands()))) + if (((colObj0) && (!(colObj0)->isStaticOrKinematicObject())) && + ((colObj1) && (!(colObj1)->isStaticOrKinematicObject()))) { if (colObj0->isActive() || colObj1->isActive()) { |