[Bf-blender-cvs] [7a86765] master: Fix T40290: False (or malfunctioning) dependency-cycle warning when adding dupligroup objects to another group.

Lukas Tönne noreply at git.blender.org
Thu May 22 15:49:22 CEST 2014


Commit: 7a8676509505bf5fbf50943f3bcc561bf95fabef
Author: Lukas Tönne
Date:   Thu May 22 15:46:35 2014 +0200
https://developer.blender.org/rB7a8676509505bf5fbf50943f3bcc561bf95fabef

Fix T40290: False (or malfunctioning) dependency-cycle warning when adding dupligroup objects to another group.

The new recursion check for groups duplicating themselves has to un-set the LIB_DOIT flag after each object, otherwise it will prevent duplicating a (non-recursive) group multiple times.

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

M	source/blender/editors/object/object_group.c

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

diff --git a/source/blender/editors/object/object_group.c b/source/blender/editors/object/object_group.c
index 09b8b09..bf43884 100644
--- a/source/blender/editors/object/object_group.c
+++ b/source/blender/editors/object/object_group.c
@@ -80,6 +80,7 @@ static bool check_object_instances_group_recursive(Object *object, Group *group)
 		/* Cycle already exists in groups, let's prevent further crappyness */
 		return true;
 	}
+	/* flag the object to identify cyclic dependencies in further dupli groups */
 	object->id.flag &= ~LIB_DOIT;
 	
 	if (object->dup_group) {
@@ -94,6 +95,9 @@ static bool check_object_instances_group_recursive(Object *object, Group *group)
 		}
 	}
 	
+	/* un-flag the object, it's allowed to have the same group multiple times in parallel */
+	object->id.flag |= LIB_DOIT;
+	
 	return false;
 }




More information about the Bf-blender-cvs mailing list