diff --git a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc index bd5af4d3d48..ba255e7e4fb 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc @@ -544,7 +544,7 @@ void DepsgraphNodeBuilder::end_build() update_invalid_cow_pointers(); } -void DepsgraphNodeBuilder::build_id(ID *id) +void DepsgraphNodeBuilder::build_id(ID *id, const bool force_be_visible) { if (id == nullptr) { return; @@ -575,7 +575,7 @@ void DepsgraphNodeBuilder::build_id(ID *id) * If this happened to be affecting visible object, then it is up to * deg_graph_build_flush_visibility() to ensure visibility of the * object is true. */ - build_object(-1, (Object *)id, DEG_ID_LINKED_INDIRECTLY, false); + build_object(-1, (Object *)id, DEG_ID_LINKED_INDIRECTLY, force_be_visible); break; case ID_KE: build_shapekeys((Key *)id); diff --git a/source/blender/depsgraph/intern/builder/deg_builder_nodes.h b/source/blender/depsgraph/intern/builder/deg_builder_nodes.h index d97db3c380e..e391a8b4162 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_nodes.h +++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes.h @@ -156,7 +156,7 @@ class DepsgraphNodeBuilder : public DepsgraphBuilder { OperationNode *find_operation_node(const OperationKey &key); - virtual void build_id(ID *id); + virtual void build_id(ID *id, bool force_be_visible = false); /* Build function for ID types that do not need their own build_xxx() function. */ virtual void build_generic_id(ID *id); diff --git a/source/blender/depsgraph/intern/builder/pipeline_from_ids.cc b/source/blender/depsgraph/intern/builder/pipeline_from_ids.cc index b3744186699..9b055811c32 100644 --- a/source/blender/depsgraph/intern/builder/pipeline_from_ids.cc +++ b/source/blender/depsgraph/intern/builder/pipeline_from_ids.cc @@ -96,7 +96,7 @@ void FromIDsBuilderPipeline::build_nodes(DepsgraphNodeBuilder &node_builder) { node_builder.build_view_layer(scene_, view_layer_, DEG_ID_LINKED_DIRECTLY); for (ID *id : ids_) { - node_builder.build_id(id); + node_builder.build_id(id, true); } }