Fix #115657 : Bone's tail is still selected after invert selection

The whole logic of selecting a parent bone's tip when selecting a bone
should only happen when they are actually **connected**
(BONE_CONNECTED), same as when picking a bone in the UI
(`ED_armature_edit_select_pick_bone`).

Pull Request: https://projects.blender.org/blender/blender/pulls/115663
This commit is contained in:
Philipp Oeser
2023-12-05 14:08:07 +01:00
committed by Philipp Oeser
parent 822cb1afd7
commit c5538b6851

View File

@@ -1350,7 +1350,7 @@ static int armature_de_select_all_exec(bContext *C, wmOperator *op)
case SEL_SELECT:
if ((ebone->flag & BONE_UNSELECTABLE) == 0) {
ebone->flag |= (BONE_SELECTED | BONE_TIPSEL | BONE_ROOTSEL);
if (ebone->parent) {
if (ebone->parent && (ebone->flag & BONE_CONNECTED)) {
ebone->parent->flag |= BONE_TIPSEL;
}
}
@@ -1365,7 +1365,7 @@ static int armature_de_select_all_exec(bContext *C, wmOperator *op)
else {
if ((ebone->flag & BONE_UNSELECTABLE) == 0) {
ebone->flag |= (BONE_SELECTED | BONE_TIPSEL | BONE_ROOTSEL);
if (ebone->parent) {
if (ebone->parent && (ebone->flag & BONE_CONNECTED)) {
ebone->parent->flag |= BONE_TIPSEL;
}
}