From cf74a6db7ef8bf34f22a50b18a9a0aff517771ec Mon Sep 17 00:00:00 2001 From: Dalai Felinto Date: Fri, 12 Oct 2018 18:02:02 -0300 Subject: Revert "Multi-Object Pose: POSE_OT_select_parent by Harsha" This reverts commit dcf1210c44cb1e46bf387f326c5ee9daa2a53004. In 2.79x select parent would only work for the active bone. There is no reason to have it working for multi-objects. --- source/blender/editors/armature/pose_select.c | 43 +++++++++++---------------- 1 file changed, 18 insertions(+), 25 deletions(-) (limited to 'source/blender') diff --git a/source/blender/editors/armature/pose_select.c b/source/blender/editors/armature/pose_select.c index d78c3547b36..b50c44e6a6b 100644 --- a/source/blender/editors/armature/pose_select.c +++ b/source/blender/editors/armature/pose_select.c @@ -459,34 +459,27 @@ void POSE_OT_select_all(wmOperatorType *ot) static int pose_select_parent_exec(bContext *C, wmOperator *UNUSED(op)) { - /* only clear relevant transforms for selected bones */ - ViewLayer *view_layer = CTX_data_view_layer(C); - FOREACH_OBJECT_IN_MODE_BEGIN (view_layer, OB_MODE_POSE, ob_iter) - { - Object *ob = ob_iter; - bArmature *arm = (bArmature *)ob->data; - - FOREACH_PCHAN_SELECTED_IN_OBJECT_BEGIN (ob_iter, pchan) - { - if (pchan) { - bPoseChannel *parent = pchan->parent; - if ((parent) && !(parent->bone->flag & (BONE_HIDDEN_P | BONE_UNSELECTABLE))) { - parent->bone->flag |= BONE_SELECTED; - arm->act_bone = parent->bone; - } - else { - continue; - } - } - else { - continue; - } - ED_pose_bone_select_tag_update(ob); + Object *ob = BKE_object_pose_armature_get(CTX_data_active_object(C)); + bArmature *arm = (bArmature *)ob->data; + bPoseChannel *pchan, *parent; + + /* Determine if there is an active bone */ + pchan = CTX_data_active_pose_bone(C); + if (pchan) { + parent = pchan->parent; + if ((parent) && !(parent->bone->flag & (BONE_HIDDEN_P | BONE_UNSELECTABLE))) { + parent->bone->flag |= BONE_SELECTED; + arm->act_bone = parent->bone; + } + else { + return OPERATOR_CANCELLED; } - FOREACH_PCHAN_SELECTED_IN_OBJECT_END; } - FOREACH_OBJECT_IN_MODE_END; + else { + return OPERATOR_CANCELLED; + } + ED_pose_bone_select_tag_update(ob); return OPERATOR_FINISHED; } -- cgit v1.2.3