diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2018-07-06 15:45:14 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2018-07-06 15:46:35 +0300 |
commit | 15f4aa182f82bc0642d19eab58ee8b4a5182ac46 (patch) | |
tree | ea6673ebf928ecd5f7a2e4502b9c10d9b3a3c78e /source/blender | |
parent | 571e773fbe38b2cc1a6af43e8ed55574d2caadb4 (diff) |
Depsgraph: Relations builder should not tag ID in all depsgraphs
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/depsgraph/intern/builder/deg_builder.cc | 5 | ||||
-rw-r--r-- | source/blender/depsgraph/intern/depsgraph_tag.cc | 13 |
2 files changed, 11 insertions, 7 deletions
diff --git a/source/blender/depsgraph/intern/builder/deg_builder.cc b/source/blender/depsgraph/intern/builder/deg_builder.cc index b6256e9ceb0..34da29652a4 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder.cc @@ -69,7 +69,10 @@ void deg_graph_build_finalize(Main *bmain, Depsgraph *graph) flag |= DEG_TAG_COPY_ON_WRITE; } if (flag != 0) { - DEG_id_tag_update_ex(bmain, id_node->id_orig, flag); + DEG_graph_id_tag_update(bmain, + (::Depsgraph*)graph, + id_node->id_orig, + flag); } } } diff --git a/source/blender/depsgraph/intern/depsgraph_tag.cc b/source/blender/depsgraph/intern/depsgraph_tag.cc index 9128571155f..4229f8bf9a2 100644 --- a/source/blender/depsgraph/intern/depsgraph_tag.cc +++ b/source/blender/depsgraph/intern/depsgraph_tag.cc @@ -299,6 +299,7 @@ void depsgraph_tag_component(Depsgraph *graph, * explicitly, but not all areas are aware of this yet. */ void deg_graph_id_tag_legacy_compat(Main *bmain, + Depsgraph *depsgraph, ID *id, eDepsgraph_Tag tag) { @@ -309,7 +310,7 @@ void deg_graph_id_tag_legacy_compat(Main *bmain, Object *object = (Object *)id; ID *data_id = (ID *)object->data; if (data_id != NULL) { - DEG_id_tag_update_ex(bmain, data_id, 0); + deg_graph_id_tag_update(bmain, depsgraph, data_id, 0); } break; } @@ -322,7 +323,7 @@ void deg_graph_id_tag_legacy_compat(Main *bmain, Mesh *mesh = (Mesh *)id; ID *key_id = &mesh->key->id; if (key_id != NULL) { - DEG_id_tag_update_ex(bmain, key_id, 0); + deg_graph_id_tag_update(bmain, depsgraph, key_id, 0); } break; } @@ -331,7 +332,7 @@ void deg_graph_id_tag_legacy_compat(Main *bmain, Lattice *lattice = (Lattice *)id; ID *key_id = &lattice->key->id; if (key_id != NULL) { - DEG_id_tag_update_ex(bmain, key_id, 0); + deg_graph_id_tag_update(bmain, depsgraph, key_id, 0); } break; } @@ -340,7 +341,7 @@ void deg_graph_id_tag_legacy_compat(Main *bmain, Curve *curve = (Curve *)id; ID *key_id = &curve->key->id; if (key_id != NULL) { - DEG_id_tag_update_ex(bmain, key_id, 0); + deg_graph_id_tag_update(bmain, depsgraph, key_id, 0); } break; } @@ -396,7 +397,7 @@ static void deg_graph_id_tag_update_single_flag(Main *bmain, /* TODO(sergey): Get rid of this once all areas are using proper data ID * for tagging. */ - deg_graph_id_tag_legacy_compat(bmain, id, tag); + deg_graph_id_tag_legacy_compat(bmain, graph, id, tag); } @@ -454,7 +455,7 @@ void deg_graph_node_tag_zero(Main *bmain, Depsgraph *graph, IDDepsNode *id_node) comp_node->tag_update(graph); } GHASH_FOREACH_END(); - deg_graph_id_tag_legacy_compat(bmain, id, (eDepsgraph_Tag)0); + deg_graph_id_tag_legacy_compat(bmain, graph, id, (eDepsgraph_Tag)0); } void deg_graph_id_tag_update(Main *bmain, Depsgraph *graph, ID *id, int flag) |