diff --git a/extern/bullet2/src/BulletCollision/CollisionDispatch/btSimulationIslandManager.cpp b/extern/bullet2/src/BulletCollision/CollisionDispatch/btSimulationIslandManager.cpp index 5a642643eed..06a5f95143e 100644 --- a/extern/bullet2/src/BulletCollision/CollisionDispatch/btSimulationIslandManager.cpp +++ b/extern/bullet2/src/BulletCollision/CollisionDispatch/btSimulationIslandManager.cpp @@ -271,50 +271,53 @@ void btSimulationIslandManager::buildAndProcessIslands(btDispatcher* dispatcher, int islandId; - //solve the constraint for each islands, if there are contacts/constraints - for (int startIslandIndex=0;startIslandIndexisActive()) + islandSleeping = true; + } + - bool islandSleeping = false; + //find the accompanying contact manifold for this islandId + int numIslandManifolds = 0; + btPersistentManifold** startManifold = 0; - for (endIslandIndex = startIslandIndex;(endIslandIndexisActive()) - islandSleeping = true; - } + if (startManifoldIndexProcessIsland(startManifold,numIslandManifolds, islandId); + } - callback->ProcessIsland(startManifold,numIslandManifolds, islandId); + if (numIslandManifolds) + { + startManifoldIndex = endManifoldIndex; + } + } - if (numIslandManifolds) - { - startManifoldIndex = endManifoldIndex; - } - } - } }