diff --git a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc index 127a3f45929..3354f85bf27 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc @@ -538,10 +538,10 @@ void DepsgraphNodeBuilder::build_object(int base_index, build_gpencil(object->gpd); } /* Proxy object to copy from. */ - if (object->proxy_from) { + if (object->proxy_from != NULL) { build_object(-1, object->proxy_from, DEG_ID_LINKED_INDIRECTLY); } - if (object->proxy_group) { + if (object->proxy_group != NULL) { build_object(-1, object->proxy_group, DEG_ID_LINKED_INDIRECTLY); } /* Object dupligroup. */ diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc index ff3c9f9e426..0c7e13197a6 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc @@ -596,8 +596,12 @@ void DepsgraphRelationBuilder::build_object(Base *base, Object *object) ComponentKey proxy_transform_key(&object->id, DEG_NODE_TYPE_TRANSFORM); add_relation(ob_transform_key, proxy_transform_key, "Proxy Transform"); } - if (object->proxy_group) { + if (object->proxy_group != NULL) { build_object(NULL, object->proxy_group); + OperationKey proxy_group_ubereval_key(&object->proxy_group->id, + DEG_NODE_TYPE_TRANSFORM, + DEG_OPCODE_TRANSFORM_OBJECT_UBEREVAL); + add_relation(proxy_group_ubereval_key, final_transform_key, "Proxy Group Transform"); } /* Object dupligroup. */ if (object->dup_group != NULL) {