[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