[Bf-blender-cvs] [028bce87173] master: Depsgraph: Fix fake dependnecy cycle in proxies
Sergey Sharybin
noreply at git.blender.org
Thu May 23 15:30:11 CEST 2019
Commit: 028bce87173e704081517bd7a2a323648e8137ad
Author: Sergey Sharybin
Date: Thu May 23 10:26:17 2019 +0200
Branches: master
https://developer.blender.org/rB028bce87173e704081517bd7a2a323648e8137ad
Depsgraph: Fix fake dependnecy cycle in proxies
Noticed when was looking into T64764, F7043663.
This is a weird case when proxy group is not a group, but is the
same as linked object.
Remove useless relation which was causing cycle, but had no functional
meaning.
Pair programming session with Brecht.
Reviewers: angavrilov, brecht
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D4928
===================================================================
M source/blender/depsgraph/intern/builder/deg_builder_relations.cc
===================================================================
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
index ad78e90993d..c8821c3fa0b 100644
--- a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
@@ -639,12 +639,14 @@ void DepsgraphRelationBuilder::build_object(Base *base, Object *object)
}
/* Proxy object to copy from. */
if (object->proxy_from != NULL) {
+ /* Object is linked here (comes from the library). */
build_object(NULL, object->proxy_from);
ComponentKey ob_transform_key(&object->proxy_from->id, NodeType::TRANSFORM);
ComponentKey proxy_transform_key(&object->id, NodeType::TRANSFORM);
add_relation(ob_transform_key, proxy_transform_key, "Proxy Transform");
}
- if (object->proxy_group != NULL) {
+ if (object->proxy_group != NULL && object->proxy_group != object->proxy) {
+ /* Object is local here (local in .blend file, users interacts with it). */
build_object(NULL, object->proxy_group);
OperationKey proxy_group_eval_key(
&object->proxy_group->id, NodeType::TRANSFORM, OperationCode::TRANSFORM_EVAL);
More information about the Bf-blender-cvs
mailing list