Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2009-04-04 08:56:05 +0400
committerCampbell Barton <ideasman42@gmail.com>2009-04-04 08:56:05 +0400
commitc31f806c99e14ef54a06ea90f0f66d4d1b2572a1 (patch)
treeb1ba49579f5db598fac87343c8f3b3afaade55d7 /extern/bullet2
parent6be69211843ee37ab9be763df0621db94dbfd69b (diff)
fix for [#18484] Bullet Crash (possibly because of overlapping rigid body balls)
simple missing negative index check.
Diffstat (limited to 'extern/bullet2')
-rw-r--r--extern/bullet2/src/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/extern/bullet2/src/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.cpp b/extern/bullet2/src/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.cpp
index ea2e0ad2a2b..457e26b1dc0 100644
--- a/extern/bullet2/src/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.cpp
+++ b/extern/bullet2/src/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.cpp
@@ -725,9 +725,13 @@ void btDiscreteDynamicsWorld::calculateSimulationIslands()
{
if (colObj0->isActive() || colObj1->isActive())
{
-
- getSimulationIslandManager()->getUnionFind().unite((colObj0)->getIslandTag(),
- (colObj1)->getIslandTag());
+ if ((colObj0)->getIslandTag() != -1 && (colObj1)->getIslandTag() != -1)
+ {
+
+ getSimulationIslandManager()->getUnionFind().unite((colObj0)->getIslandTag(),
+ (colObj1)->getIslandTag());
+ }
+
}
}
}