diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2018-05-31 12:30:36 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2018-05-31 12:43:29 +0300 |
commit | 9948e26e14408a24000667d46bcd0bce99e437ce (patch) | |
tree | 07aec5e55d3b7aa62310a34de41f46cb702c6b4e /source/blender/depsgraph/intern/builder/deg_builder_nodes_view_layer.cc | |
parent | 1e6108e97246fe544e39d5a6d9fb907847fd907b (diff) |
Fix depsgrah copying and evaluating hidden collections.
Diffstat (limited to 'source/blender/depsgraph/intern/builder/deg_builder_nodes_view_layer.cc')
-rw-r--r-- | source/blender/depsgraph/intern/builder/deg_builder_nodes_view_layer.cc | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_nodes_view_layer.cc b/source/blender/depsgraph/intern/builder/deg_builder_nodes_view_layer.cc index 35f01c19608..fd4b975e53f 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_nodes_view_layer.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes_view_layer.cc @@ -67,9 +67,17 @@ namespace DEG { void DepsgraphNodeBuilder::build_layer_collections(ListBase *lb) { + const int restrict_flag = (graph_->mode == DAG_EVAL_VIEWPORT) ? + COLLECTION_RESTRICT_VIEW : COLLECTION_RESTRICT_RENDER; + for (LayerCollection *lc = (LayerCollection *)lb->first; lc; lc = lc->next) { - build_collection(lc->collection); - build_layer_collections(&lc->layer_collections); + if (!(lc->collection->flag & restrict_flag)) { + if (!(lc->flag & LAYER_COLLECTION_EXCLUDE)) { + build_collection(lc->collection); + } + + build_layer_collections(&lc->layer_collections); + } } } |