diff options
author | Lukas Tönne <lukas.toenne@gmail.com> | 2014-05-22 17:46:35 +0400 |
---|---|---|
committer | Lukas Tönne <lukas.toenne@gmail.com> | 2014-05-22 17:46:35 +0400 |
commit | 7a8676509505bf5fbf50943f3bcc561bf95fabef (patch) | |
tree | 50fd866fe7bba26e3f0d4e62a62856b312beabcd /source | |
parent | c56bbccb0d7718c669e06c879e4cf903d6455cc3 (diff) |
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.
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/editors/object/object_group.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/source/blender/editors/object/object_group.c b/source/blender/editors/object/object_group.c index 09b8b09eb60..bf43884bef7 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; } |