[Bf-blender-cvs] [446ed1c5164] fracture_modifier: rigidbody sort fix for external constraints

Martin Felke noreply at git.blender.org
Sun Feb 18 00:51:30 CET 2018


Commit: 446ed1c51645dbc13cd0c842c38aef8609b5b408
Author: Martin Felke
Date:   Sun Feb 18 00:51:05 2018 +0100
Branches: fracture_modifier
https://developer.blender.org/rB446ed1c51645dbc13cd0c842c38aef8609b5b408

rigidbody sort fix for external constraints

===================================================================

M	source/blender/blenkernel/intern/rigidbody.c

===================================================================

diff --git a/source/blender/blenkernel/intern/rigidbody.c b/source/blender/blenkernel/intern/rigidbody.c
index 1024158a53e..04043617661 100644
--- a/source/blender/blenkernel/intern/rigidbody.c
+++ b/source/blender/blenkernel/intern/rigidbody.c
@@ -1595,9 +1595,6 @@ static int object_sort_eval(const void *s1, const void *s2, void* context)
 	FractureModifierData *fmd1 = (FractureModifierData*)modifiers_findByType(*o1, eModifierType_Fracture);
 	FractureModifierData *fmd2 = (FractureModifierData*)modifiers_findByType(*o2, eModifierType_Fracture);
 
-	if (!fmd1 || !fmd2) {
-		return 0;
-	}
 
 	if ((fmd1 && fmd1->dm_group && fmd1->use_constraint_group) &&
 	   (fmd2 && fmd2->dm_group && fmd2->use_constraint_group))
@@ -1605,14 +1602,13 @@ static int object_sort_eval(const void *s1, const void *s2, void* context)
 		return 0;
 	}
 
-	if ((fmd1 && !(fmd1->dm_group && fmd1->use_constraint_group)) &&
+	if ((fmd1 && fmd1->dm_group && fmd1->use_constraint_group) &&
 	   (fmd2 && !(fmd2->dm_group && fmd2->use_constraint_group)))
 	{
-		return 0;
+		return 1;
 	}
 
-	if ((fmd1 && fmd1->dm_group && fmd1->use_constraint_group) &&
-	   (fmd2 && !(fmd2->dm_group && fmd2->use_constraint_group)))
+	if ((fmd1 && fmd1->dm_group && fmd1->use_constraint_group) && !fmd2)
 	{
 		return 1;
 	}
@@ -1623,6 +1619,11 @@ static int object_sort_eval(const void *s1, const void *s2, void* context)
 		return -1;
 	}
 
+	if ((!fmd1) && (fmd2 && fmd2->dm_group && fmd2->use_constraint_group))
+	{
+		return -1;
+	}
+
 	return 0;
 }



More information about the Bf-blender-cvs mailing list