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:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2012-10-19 20:44:08 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2012-10-19 20:44:08 +0400
commit7e620f04a1072e5bcffb92c9db501ebe9a51a25c (patch)
treeaf30b8880a41e3c7c71f1b52fb9158ed0d5dab97 /source/blender/blenkernel/intern/collision.c
parentf72f1dca6c70bd4597f0106adbd50608cdd8c01b (diff)
Fix #32920: cloth physics with collision exploding in some cases, due to
uninitialized memory usage.
Diffstat (limited to 'source/blender/blenkernel/intern/collision.c')
-rw-r--r--source/blender/blenkernel/intern/collision.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/collision.c b/source/blender/blenkernel/intern/collision.c
index 6631afcddaf..05c916f9362 100644
--- a/source/blender/blenkernel/intern/collision.c
+++ b/source/blender/blenkernel/intern/collision.c
@@ -458,7 +458,8 @@ static CollPair* cloth_collision(ModifierData *md1, ModifierData *md2,
distance = 2.0 * (double)( epsilon1 + epsilon2 + ALMOST_ZERO );
#endif
- if (distance <= (epsilon1 + epsilon2 + ALMOST_ZERO)) {
+ // distance -1 means no collision result
+ if (distance != -1.0f && (distance <= (epsilon1 + epsilon2 + ALMOST_ZERO))) {
normalize_v3_v3(collpair->normal, collpair->vector);
collpair->distance = distance;