Depsgraph: dependency on B-Bone start handle end roll when inheriting it.
Specifically the dependency is on any drivers that may be affecting the RNA property of the handle bone, which currently link to segments.
This commit is contained in:
parent
26d2652d6d
commit
08a79fc88b
Notes:
blender-bot
2023-02-14 10:21:11 +01:00
Referenced by issue #64512, Crash with bones with custom shapes AND being in a shading type that is NOT wireframe.
|
@ -383,7 +383,13 @@ void DepsgraphRelationBuilder::build_rig(Object *object)
|
|||
bPoseChannel *prev, *next;
|
||||
BKE_pchan_bbone_handles_get(pchan, &prev, &next);
|
||||
if (prev) {
|
||||
OperationKey prev_key(&object->id, NodeType::BONE, prev->name, OperationCode::BONE_DONE);
|
||||
OperationCode opcode = OperationCode::BONE_DONE;
|
||||
/* Inheriting parent roll requires access to prev handle's B-Bone properties. */
|
||||
if ((pchan->bone->flag & BONE_ADD_PARENT_END_ROLL) != 0 &&
|
||||
check_pchan_has_bbone_segments(object, prev)) {
|
||||
opcode = OperationCode::BONE_SEGMENTS;
|
||||
}
|
||||
OperationKey prev_key(&object->id, NodeType::BONE, prev->name, opcode);
|
||||
add_relation(prev_key, bone_segments_key, "Prev Handle -> B-Bone Segments");
|
||||
}
|
||||
if (next) {
|
||||
|
|
|
@ -635,9 +635,10 @@ void rna_def_bone_curved_common(StructRNA *srna, bool is_posebone)
|
|||
if (is_posebone == false) {
|
||||
prop = RNA_def_property(srna, "use_endroll_as_inroll", PROP_BOOLEAN, PROP_NONE);
|
||||
RNA_def_property_ui_text(
|
||||
prop, "Inherit End Roll", "Use Roll Out of parent bone as Roll In of its children");
|
||||
prop, "Inherit End Roll", "Add Roll Out of the Start Handle bone to the Roll In value");
|
||||
RNA_def_property_boolean_sdna(prop, NULL, "flag", BONE_ADD_PARENT_END_ROLL);
|
||||
RNA_def_property_update(prop, 0, "rna_Armature_update_data");
|
||||
RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
|
||||
RNA_def_property_update(prop, 0, "rna_Armature_dependency_update");
|
||||
}
|
||||
|
||||
/* Curve X/Y Offsets */
|
||||
|
|
Loading…
Reference in New Issue