diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2019-03-12 17:25:50 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2019-03-12 17:27:43 +0300 |
commit | c10d011cc596727db8ff4622a8ae28fd2bb15b39 (patch) | |
tree | 9057fc7083817d67a33081f6b624a6829d4522e1 /source/blender/depsgraph | |
parent | 936014ea8c7434c2dc556fdb9c49924747d63cab (diff) |
Fix T62457: Crash with rigid body and disabled objects
Need to always ensure objects form rigid body wortld are part
of dependency graph.
Diffstat (limited to 'source/blender/depsgraph')
-rw-r--r-- | source/blender/depsgraph/intern/builder/deg_builder_nodes.cc | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc index 0aeaec5313a..eefdb809f37 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_nodes.cc @@ -496,6 +496,12 @@ void DepsgraphNodeBuilder::build_collection( * objects are poked with the new visibility flag, since they * might become visible too. */ } + else if (from_layer_collection == NULL && + !id_node->is_collection_fully_expanded) { + /* Initially collection was built from layer now, and was requested + * to not recurs into object. But nw it's asked to recurs into all + * objects. */ + } else { return; } @@ -1047,8 +1053,8 @@ void DepsgraphNodeBuilder::build_rigidbody(Scene *scene) /* Init/rebuild operation. */ add_operation_node(&scene->id, NodeType::TRANSFORM, - OperationCode::RIGIDBODY_REBUILD, - function_bind(BKE_rigidbody_rebuild_sim, _1, scene_cow)); + OperationCode::RIGIDBODY_REBUILD, + function_bind(BKE_rigidbody_rebuild_sim, _1, scene_cow)); /* Do-sim operation. */ OperationNode *sim_node = add_operation_node( &scene->id, NodeType::TRANSFORM, |