From ebec9eb75ead22edd4fe66157241f825bb3dd1cd Mon Sep 17 00:00:00 2001 From: Alexander Gavrilov Date: Tue, 27 Dec 2022 17:31:37 +0200 Subject: [PATCH] Fix T103118: depsgraph issues for bbone property drivers on non-bbones. The BONE_SEGMENTS operation node is only created if the bone is actually a B-Bone. One location in the code wasn't checking that before trying to create a relation. --- .../depsgraph/intern/builder/deg_builder_relations.cc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc index 53d56c3db36..0c5dfdf5ced 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc @@ -1675,8 +1675,11 @@ void DepsgraphRelationBuilder::build_driver_data(ID *id, FCurve *fcu) continue; } - OperationCode target_op = driver_targets_bbone ? OperationCode::BONE_SEGMENTS : - OperationCode::BONE_LOCAL; + OperationCode target_op = OperationCode::BONE_LOCAL; + if (driver_targets_bbone) { + target_op = check_pchan_has_bbone_segments(object, pchan) ? OperationCode::BONE_SEGMENTS : + OperationCode::BONE_DONE; + } OperationKey bone_key(&object->id, NodeType::BONE, pchan->name, target_op); add_relation(driver_key, bone_key, "Arm Bone -> Driver -> Bone"); }