diff options
Diffstat (limited to 'source/blender/depsgraph/intern/depsgraph_tag.cc')
-rw-r--r-- | source/blender/depsgraph/intern/depsgraph_tag.cc | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/source/blender/depsgraph/intern/depsgraph_tag.cc b/source/blender/depsgraph/intern/depsgraph_tag.cc index b5968cbaeca..b8c85430f06 100644 --- a/source/blender/depsgraph/intern/depsgraph_tag.cc +++ b/source/blender/depsgraph/intern/depsgraph_tag.cc @@ -71,7 +71,7 @@ void depsgraph_geometry_tag_to_component(const ID *id, NodeType *component_type) bool is_selectable_data_id_type(const ID_Type id_type) { - return ELEM(id_type, ID_ME, ID_CU, ID_MB, ID_LT, ID_GD, ID_CV, ID_PT, ID_VO); + return ELEM(id_type, ID_ME, ID_CU_LEGACY, ID_MB, ID_LT, ID_GD, ID_CV, ID_PT, ID_VO); } void depsgraph_select_tag_to_component_opcode(const ID *id, @@ -332,7 +332,7 @@ void deg_graph_id_tag_legacy_compat( } break; } - case ID_CU: { + case ID_CU_LEGACY: { Curve *curve = (Curve *)id; if (curve->key != nullptr) { ID *key_id = &curve->key->id; @@ -483,6 +483,10 @@ void deg_graph_node_tag_zero(Main *bmain, if (comp_node->type == NodeType::ANIMATION) { continue; } + else if (comp_node->type == NodeType::COPY_ON_WRITE) { + id_node->is_cow_explicitly_tagged = true; + } + comp_node->tag_update(graph, update_source); } deg_graph_id_tag_legacy_compat(bmain, graph, id, (IDRecalcFlag)0, update_source); @@ -569,7 +573,7 @@ NodeType geometry_tag_to_component(const ID *id) const Object *object = (Object *)id; switch (object->type) { case OB_MESH: - case OB_CURVE: + case OB_CURVES_LEGACY: case OB_SURF: case OB_FONT: case OB_LATTICE: @@ -586,7 +590,7 @@ NodeType geometry_tag_to_component(const ID *id) break; } case ID_ME: - case ID_CU: + case ID_CU_LEGACY: case ID_LT: case ID_MB: case ID_CV: |