From c10d011cc596727db8ff4622a8ae28fd2bb15b39 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Tue, 12 Mar 2019 15:25:50 +0100 Subject: Fix T62457: Crash with rigid body and disabled objects Need to always ensure objects form rigid body wortld are part of dependency graph. --- source/blender/depsgraph/intern/builder/deg_builder_nodes.cc | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'source/blender/depsgraph') 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, -- cgit v1.2.3