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:
authorMartin Felke <martin.felke@googlemail.com>2019-03-02 21:14:34 +0300
committerMartin Felke <martin.felke@googlemail.com>2019-03-02 21:14:34 +0300
commit0b20de36082764e0ce34ceb8dbfb81aea30a68a5 (patch)
treeb0ac2a5be7b126df02231e3979a346e95e63845b
parentbb1ca80bc10a3d7422ac937a6877d1084296786e (diff)
attempt to fix crash with dynamic + constraints (but the problems are multiple depsgraph threads here)
-rw-r--r--source/blender/blenkernel/intern/fracture_constraints.c25
1 files changed, 15 insertions, 10 deletions
diff --git a/source/blender/blenkernel/intern/fracture_constraints.c b/source/blender/blenkernel/intern/fracture_constraints.c
index 8dfe921a860..bacf8e98061 100644
--- a/source/blender/blenkernel/intern/fracture_constraints.c
+++ b/source/blender/blenkernel/intern/fracture_constraints.c
@@ -402,20 +402,25 @@ void BKE_fracture_meshislands_connect(Scene* sc, FractureModifierData *fmd, Shar
if (ok) {
/* search local constraint list instead of global one !!! saves lots of time */
int i;
- for (i = 0; i < mi1->participating_constraint_count; i++) {
- con = mi1->participating_constraints[i];
- if (con && ((con->mi1 == mi2) || (con->mi2 == mi2))) {
- con_found = true;
- break;
+
+ if (mi1->participating_constraints != NULL) {
+ for (i = 0; i < mi1->participating_constraint_count; i++) {
+ con = mi1->participating_constraints[i];
+ if (con && ((con->mi1 == mi2) || (con->mi2 == mi2))) {
+ con_found = true;
+ break;
+ }
}
}
if (!con_found) {
- for (i = 0; i < mi2->participating_constraint_count; i++) {
- con = mi2->participating_constraints[i];
- if (con && ((con->mi1 == mi1) || (con->mi2 == mi1))) {
- con_found = true;
- break;
+ if (mi2->participating_constraints != NULL) {
+ for (i = 0; i < mi2->participating_constraint_count; i++) {
+ con = mi2->participating_constraints[i];
+ if (con && ((con->mi1 == mi1) || (con->mi2 == mi1))) {
+ con_found = true;
+ break;
+ }
}
}
}