[Bf-blender-cvs] [24c7add] master: Code cleanup: de-duplicate flag check in ED_object_toggle_modes

Campbell Barton noreply at git.blender.org
Wed Jun 18 08:24:42 CEST 2014


Commit: 24c7adde0fb922d802b817edb0508c770e1681e0
Author: Campbell Barton
Date:   Wed Jun 18 16:23:50 2014 +1000
https://developer.blender.org/rB24c7adde0fb922d802b817edb0508c770e1681e0

Code cleanup: de-duplicate flag check in ED_object_toggle_modes

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

M	source/blender/editors/object/object_edit.c

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

diff --git a/source/blender/editors/object/object_edit.c b/source/blender/editors/object/object_edit.c
index 002bec4..62a31a3 100644
--- a/source/blender/editors/object/object_edit.c
+++ b/source/blender/editors/object/object_edit.c
@@ -1669,24 +1669,12 @@ void OBJECT_OT_mode_set(wmOperatorType *ot)
 
 void ED_object_toggle_modes(bContext *C, int mode)
 {
-	/* Couldn't we use object_mode_op_string() here?
-	 * Also, if several bits are set in mode, several toggle ops will be called, is this expected?
-	 * If so, would be nice to explain why. ;) --mont29
-	 */
-	if (mode & OB_MODE_SCULPT)
-		WM_operator_name_call(C, "SCULPT_OT_sculptmode_toggle", WM_OP_EXEC_REGION_WIN, NULL);
-	if (mode & OB_MODE_VERTEX_PAINT)
-		WM_operator_name_call(C, "PAINT_OT_vertex_paint_toggle", WM_OP_EXEC_REGION_WIN, NULL);
-	if (mode & OB_MODE_WEIGHT_PAINT)
-		WM_operator_name_call(C, "PAINT_OT_weight_paint_toggle", WM_OP_EXEC_REGION_WIN, NULL);
-	if (mode & OB_MODE_TEXTURE_PAINT)
-		WM_operator_name_call(C, "PAINT_OT_texture_paint_toggle", WM_OP_EXEC_REGION_WIN, NULL);
-	if (mode & OB_MODE_PARTICLE_EDIT)
-		WM_operator_name_call(C, "PARTICLE_OT_particle_edit_toggle", WM_OP_EXEC_REGION_WIN, NULL);
-	if (mode & OB_MODE_POSE)
-		WM_operator_name_call(C, "OBJECT_OT_posemode_toggle", WM_OP_EXEC_REGION_WIN, NULL);
-	if (mode & OB_MODE_EDIT)
-		WM_operator_name_call(C, "OBJECT_OT_editmode_toggle", WM_OP_EXEC_REGION_WIN, NULL);
+	if (mode != OB_MODE_OBJECT) {
+		const char *opstring = object_mode_op_string(mode);
+		if (opstring) {
+			WM_operator_name_call(C, opstring, WM_OP_EXEC_REGION_WIN, NULL);
+		}
+	}
 }
 
 /************************ Game Properties ***********************/




More information about the Bf-blender-cvs mailing list