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-07-06 15:45:14 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2018-07-06 15:46:35 +0300
commit15f4aa182f82bc0642d19eab58ee8b4a5182ac46 (patch)
treeea6673ebf928ecd5f7a2e4502b9c10d9b3a3c78e /source/blender/depsgraph
parent571e773fbe38b2cc1a6af43e8ed55574d2caadb4 (diff)
Depsgraph: Relations builder should not tag ID in all depsgraphs
Diffstat (limited to 'source/blender/depsgraph')
-rw-r--r--source/blender/depsgraph/intern/builder/deg_builder.cc5
-rw-r--r--source/blender/depsgraph/intern/depsgraph_tag.cc13
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)