[Bf-blender-cvs] [cf74a6db7ef] blender2.8: Revert "Multi-Object Pose: POSE_OT_select_parent by Harsha"

Dalai Felinto noreply at git.blender.org
Sat Oct 13 00:54:59 CEST 2018


Commit: cf74a6db7ef8bf34f22a50b18a9a0aff517771ec
Author: Dalai Felinto
Date:   Fri Oct 12 18:02:02 2018 -0300
Branches: blender2.8
https://developer.blender.org/rBcf74a6db7ef8bf34f22a50b18a9a0aff517771ec

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.

===================================================================

M	source/blender/editors/armature/pose_select.c

===================================================================

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;
 }



More information about the Bf-blender-cvs mailing list