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.
This commit is contained in:
Lukas Tönne 2014-05-22 15:46:35 +02:00
parent c56bbccb0d
commit 7a86765095
Notes: blender-bot 2023-02-14 10:36:37 +01:00
Referenced by issue #40290, False (or malfunctioning) dependency-cycle warning when adding dupligroup objects to another group.
1 changed files with 4 additions and 0 deletions

View File

@ -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;
}