[Bf-blender-cvs] [894c3b15320] blender2.8: Revert "Multi-Objects: ARMATURE_OT_armature_layers

Dalai Felinto noreply at git.blender.org
Fri Oct 12 20:27:38 CEST 2018


Commit: 894c3b15320da4c4b71518e0df644a872c2cadd6
Author: Dalai Felinto
Date:   Fri Oct 12 15:15:39 2018 -0300
Branches: blender2.8
https://developer.blender.org/rB894c3b15320da4c4b71518e0df644a872c2cadd6

Revert "Multi-Objects: ARMATURE_OT_armature_layers

This reverts commits:
* 29a281f9ef5b3a577e6d658892a704b509d718ef
* 3a8b56ce24c9228a885d3c44f4c22d90be04ae4c

This operator shouldn't behave multi-objects. This would only work
if all the selected objects had the same logic for their layers,
which may be likely for characters, but it won't be for mixing props and
characters.

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

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

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

diff --git a/source/blender/editors/armature/pose_edit.c b/source/blender/editors/armature/pose_edit.c
index e080acc78ed..3960b53a687 100644
--- a/source/blender/editors/armature/pose_edit.c
+++ b/source/blender/editors/armature/pose_edit.c
@@ -986,38 +986,27 @@ static int armature_layers_invoke(bContext *C, wmOperator *op, const wmEvent *ev
 /* Set the visible layers for the active armature (edit and pose modes) */
 static int armature_layers_exec(bContext *C, wmOperator *op)
 {
-	ViewLayer *view_layer = CTX_data_view_layer(C);
-	Object *ob_active = CTX_data_active_object(C);
+	Object *ob = CTX_data_active_object(C);
+	bArmature *arm = armature_layers_get_data(&ob);
 	PointerRNA ptr;
 	bool layers[32]; /* hardcoded for now - we can only have 32 armature layers, so this should be fine... */
-	bool changed = false;
+
+	if (arm == NULL) {
+		return OPERATOR_CANCELLED;
+	}
 
 	/* get the values set in the operator properties */
 	RNA_boolean_get_array(op->ptr, "layers", layers);
 
-	uint objects_len = 0;
-	Object **objects = BKE_view_layer_array_from_objects_in_mode_unique_data(view_layer, &objects_len, ob_active->mode);
-	for (uint ob_index = 0; ob_index < objects_len; ob_index++) {
-		Object *ob = objects[ob_index];
-		bArmature *arm = armature_layers_get_data(&ob);
-
-		if (arm == NULL) {
-			continue;
-		}
-
-		/* Get pointer for armature, and write data there... */
-		RNA_id_pointer_create((ID *)arm, &ptr);
-		RNA_boolean_set_array(&ptr, "layers", layers);
-
-		/* Note, notifier might evolve. */
-		WM_event_add_notifier(C, NC_OBJECT | ND_POSE, ob);
-		DEG_id_tag_update(&arm->id, DEG_TAG_COPY_ON_WRITE);
+	/* get pointer for armature, and write data there... */
+	RNA_id_pointer_create((ID *)arm, &ptr);
+	RNA_boolean_set_array(&ptr, "layers", layers);
 
-		changed = true;
-	}
-	MEM_freeN(objects);
+	/* note, notifier might evolve */
+	WM_event_add_notifier(C, NC_OBJECT | ND_POSE, ob);
+	DEG_id_tag_update(&arm->id, DEG_TAG_COPY_ON_WRITE);
 
-	return changed ? OPERATOR_FINISHED : OPERATOR_CANCELLED;
+	return OPERATOR_FINISHED;
 }
 
 void ARMATURE_OT_armature_layers(wmOperatorType *ot)



More information about the Bf-blender-cvs mailing list