diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2017-04-03 16:15:56 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2017-04-03 16:15:56 +0300 |
commit | 5884c9f1ba45b8285930508b8ee04279a7b0b387 (patch) | |
tree | 11a71aea12aa2e4bf6121f21c041d0da7296928d /source/blender/depsgraph/intern | |
parent | 3b6eaf8d96bce59756f669e0c5105ae3bb31bef8 (diff) | |
parent | cc93a66e71a9de09cb41d4433be86e0f056d2b6f (diff) |
Merge branch 'master' into blender2.8
Diffstat (limited to 'source/blender/depsgraph/intern')
-rw-r--r-- | source/blender/depsgraph/intern/depsgraph_tag.cc | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/source/blender/depsgraph/intern/depsgraph_tag.cc b/source/blender/depsgraph/intern/depsgraph_tag.cc index 76d3c8a751c..8e7f8e01a59 100644 --- a/source/blender/depsgraph/intern/depsgraph_tag.cc +++ b/source/blender/depsgraph/intern/depsgraph_tag.cc @@ -351,15 +351,24 @@ void DEG_graph_on_visible_update(Main *bmain, Scene *scene) /* Special trick to get local view to work. */ LINKLIST_FOREACH (Base *, base, &scene->base) { Object *object = base->object; - DEG::IDDepsNode *node = graph->find_id_node(&object->id); - node->layers = 0; + DEG::IDDepsNode *id_node = graph->find_id_node(&object->id); + id_node->layers = 0; } LINKLIST_FOREACH (Base *, base, &scene->base) { Object *object = base->object; - DEG::IDDepsNode *node = graph->find_id_node(&object->id); - node->layers |= base->lay; + DEG::IDDepsNode *id_node = graph->find_id_node(&object->id); + id_node->layers |= base->lay; } DEG::deg_graph_build_flush_layers(graph); + LINKLIST_FOREACH (Base *, base, &scene->base) { + Object *object = base->object; + DEG::IDDepsNode *id_node = graph->find_id_node(&object->id); + GHASH_FOREACH_BEGIN(DEG::ComponentDepsNode *, comp, id_node->components) + { + id_node->layers |= comp->layers; + } + GHASH_FOREACH_END(); + } } void DEG_on_visible_update(Main *bmain, const bool UNUSED(do_time)) |