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_nodes.h | |
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_nodes.h')
-rw-r--r-- | source/blender/depsgraph/intern/builder/deg_builder_nodes.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_nodes.h b/source/blender/depsgraph/intern/builder/deg_builder_nodes.h index 9d3e51ef38d..72aa5dbe003 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_nodes.h +++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes.h @@ -161,7 +161,8 @@ struct DepsgraphNodeBuilder { void build_view_layer(Scene *scene, ViewLayer *view_layer, eDepsNode_LinkedState_Type linked_state); - void build_collection(Collection *collection); + void build_collection(eDepsNode_CollectionOwner owner_type, + Collection *collection); void build_object(int base_index, Object *object, eDepsNode_LinkedState_Type linked_state); |