diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2018-06-08 12:42:41 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2018-06-08 12:57:16 +0300 |
commit | 4017b4833152655dbb161896ab1bf47469a61d69 (patch) | |
tree | 2e767b2204bacabe2af1d834c57454d11df629ce /source/blender/depsgraph/intern/builder/deg_builder_relations_view_layer.cc | |
parent | 378e42e11933bd069b49a83232c5eccb279bc6c7 (diff) |
Depsgraph: Don't optimize out collections used by duplication system
This makes evaluated objects to point to a non-evaluated collection,
which is already really bad. What is even more worse, objects in those
collections are not evaluated either.
Proper solution would be to implement visibility flag for nodes, which
will be set to 0 for transform/geometry components, but which will be
1 for copy-on-write components.
This way we will guarantee consistency of dependency graph.
For now this change is good enough and unlocks production.
Fixes T55375: Crash when changing visibility of instanced collection
Fixes T55357: Particle geometry crash
Diffstat (limited to 'source/blender/depsgraph/intern/builder/deg_builder_relations_view_layer.cc')
-rw-r--r-- | source/blender/depsgraph/intern/builder/deg_builder_relations_view_layer.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations_view_layer.cc b/source/blender/depsgraph/intern/builder/deg_builder_relations_view_layer.cc index 0f159248ff4..ce0571362c6 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_relations_view_layer.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_relations_view_layer.cc @@ -77,7 +77,7 @@ void DepsgraphRelationBuilder::build_layer_collections(ListBase *lb) for (LayerCollection *lc = (LayerCollection *)lb->first; lc; lc = lc->next) { if (!(lc->collection->flag & restrict_flag)) { if (!(lc->flag & LAYER_COLLECTION_EXCLUDE)) { - build_collection(NULL, lc->collection); + build_collection(DEG_COLLECTION_OWNER_SCENE, NULL, lc->collection); } build_layer_collections(&lc->layer_collections); |