From f3aab25393c61350f95a4d4eceeb9ffd670ca028 Mon Sep 17 00:00:00 2001 From: Miguel Pozo Date: Fri, 1 Dec 2023 16:26:10 +0100 Subject: [PATCH] Fix: Depsgraph: Avoid duplicated operation nodes on geometry data Move the geometry shading add_operation_node call to build_object_geometry_datablock. Avoids triggering an assertion when the same geometry data is shared by multiple objects. Pull Request: https://projects.blender.org/blender/blender/pulls/115615 --- .../blender/depsgraph/intern/builder/deg_builder_nodes.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc index 848fbfcd0ab..da6aa681cec 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc @@ -1664,9 +1664,6 @@ void DepsgraphNodeBuilder::build_object_data_geometry(Object *object) NodeType::BATCH_CACHE, OperationCode::GEOMETRY_SELECT_UPDATE, [object_cow](::Depsgraph *depsgraph) { BKE_object_select_update(depsgraph, object_cow); }); - /* Shading (No-Op). - * Needed to allow the Material shading updates reach the Object. */ - add_operation_node((ID *)object->data, NodeType::SHADING, OperationCode::SHADING); } void DepsgraphNodeBuilder::build_object_data_geometry_datablock(ID *obdata) @@ -1795,6 +1792,9 @@ void DepsgraphNodeBuilder::build_object_data_geometry_datablock(ID *obdata) [obdata_cow](::Depsgraph *depsgraph) { BKE_object_data_select_update(depsgraph, obdata_cow); }); + /* Shading (No-Op). + * Needed to allow the Material shading updates reach the Object. */ + add_operation_node(obdata, NodeType::SHADING, OperationCode::SHADING); } void DepsgraphNodeBuilder::build_armature(bArmature *armature)