Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2018-06-21 16:41:51 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2018-06-21 16:57:24 +0300
commitad42c358f8baad069b48c6ee65af252826762a2c (patch)
tree127ad98219f5d20b9b474ed17810755a82370b9e /source/blender/depsgraph
parentb80cce20539f5eccb752c302a133680497be4af4 (diff)
Depsgraph: Walk into dupli_group object
That will help with cases when dupli_group object is not linked directly to the scene.
Diffstat (limited to 'source/blender/depsgraph')
-rw-r--r--source/blender/depsgraph/intern/builder/deg_builder_nodes.cc3
-rw-r--r--source/blender/depsgraph/intern/builder/deg_builder_relations.cc4
2 files changed, 6 insertions, 1 deletions
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
index 9b0c3354c47..127a3f45929 100644
--- a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc
@@ -541,6 +541,9 @@ void DepsgraphNodeBuilder::build_object(int base_index,
if (object->proxy_from) {
build_object(-1, object->proxy_from, DEG_ID_LINKED_INDIRECTLY);
}
+ if (object->proxy_group) {
+ build_object(-1, object->proxy_group, DEG_ID_LINKED_INDIRECTLY);
+ }
/* Object dupligroup. */
if (object->dup_group != NULL) {
build_collection(DEG_COLLECTION_OWNER_OBJECT, object->dup_group);
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
index d0b699d34e4..97e2b0905d7 100644
--- a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
@@ -596,7 +596,9 @@ 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) {
+ build_object(NULL, object->proxy_group);
+ }
/* Object dupligroup. */
if (object->dup_group != NULL) {
build_collection(DEG_COLLECTION_OWNER_OBJECT, object, object->dup_group);