diff options
author | Alexander Gavrilov <angavrilov@gmail.com> | 2018-10-24 19:38:50 +0300 |
---|---|---|
committer | Alexander Gavrilov <angavrilov@gmail.com> | 2018-10-24 22:14:32 +0300 |
commit | 97ec802da7a6bd99f79875fce459659f6218862e (patch) | |
tree | 7687da897c433805432bf28efa6799deb731b998 /source/blender/depsgraph/intern/depsgraph_query.cc | |
parent | e66084268ccc08bfde4b384211f5a248a805036d (diff) |
Depsgraph: fixes for the eval_flags API behavior.
- Use the original ID pointer for lookup in DEG_get_eval_flags_for_id.
- When the flags change after a DEG rebuild, tag the object for update.
- Instead of mixing int and short in different places, use uint32_t.
This fixes text not updating when a Follow Curve reference is set.
Diffstat (limited to 'source/blender/depsgraph/intern/depsgraph_query.cc')
-rw-r--r-- | source/blender/depsgraph/intern/depsgraph_query.cc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/source/blender/depsgraph/intern/depsgraph_query.cc b/source/blender/depsgraph/intern/depsgraph_query.cc index 631669babb2..946917afb26 100644 --- a/source/blender/depsgraph/intern/depsgraph_query.cc +++ b/source/blender/depsgraph/intern/depsgraph_query.cc @@ -100,7 +100,7 @@ bool DEG_id_type_any_updated(const Depsgraph *graph) return false; } -short DEG_get_eval_flags_for_id(const Depsgraph *graph, ID *id) +uint32_t DEG_get_eval_flags_for_id(const Depsgraph *graph, ID *id) { if (graph == NULL) { /* Happens when converting objects to mesh from a python script @@ -113,7 +113,7 @@ short DEG_get_eval_flags_for_id(const Depsgraph *graph, ID *id) } const DEG::Depsgraph *deg_graph = reinterpret_cast<const DEG::Depsgraph *>(graph); - const DEG::IDDepsNode *id_node = deg_graph->find_id_node(id); + const DEG::IDDepsNode *id_node = deg_graph->find_id_node(DEG_get_original_id(id)); if (id_node == NULL) { /* TODO(sergey): Does it mean we need to check set scene? */ return 0; |