[Bf-blender-cvs] [8f15be2] master: Fix T37534 remaining issue: auto-enable bevel weight view whenever enter edge bevel weight editing.

Howard Trickey noreply at git.blender.org
Tue Aug 26 13:48:49 CEST 2014


Commit: 8f15be2feef6b4aee3c7de34080ccdd5bbad6658
Author: Howard Trickey
Date:   Tue Aug 26 07:22:12 2014 -0400
Branches: master
https://developer.blender.org/rB8f15be2feef6b4aee3c7de34080ccdd5bbad6658

Fix T37534 remaining issue: auto-enable bevel weight view
whenever enter edge bevel weight editing.

This is what happens when one makes an edge sharp, for instance.
The edge bevel weight display is not on by default for performance
reasons, but seems reasonable to enable it when user indicates
interest by editing bevel weight values.

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

M	source/blender/editors/transform/transform_ops.c

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

diff --git a/source/blender/editors/transform/transform_ops.c b/source/blender/editors/transform/transform_ops.c
index 0b5241e..81e065e 100644
--- a/source/blender/editors/transform/transform_ops.c
+++ b/source/blender/editors/transform/transform_ops.c
@@ -26,6 +26,7 @@
 
 #include "MEM_guardedalloc.h"
 
+#include "DNA_mesh_types.h"
 #include "DNA_object_types.h"
 #include "DNA_scene_types.h"
 
@@ -883,6 +884,27 @@ static void TRANSFORM_OT_edge_crease(struct wmOperatorType *ot)
 	Transform_Properties(ot, P_SNAP);
 }
 
+static int edge_bevelweight_exec(bContext *C, wmOperator *op)
+{
+	Mesh *me = (Mesh *)CTX_data_edit_object(C)->data;
+
+	/* auto-enable bevel edge weight drawing, then chain to common transform code */
+	me->drawflag |= ME_DRAWBWEIGHTS;
+
+	return transform_exec(C, op);
+}
+
+static int edge_bevelweight_invoke(bContext *C, wmOperator *op, const wmEvent *event)
+{
+	Mesh *me = (Mesh *)CTX_data_edit_object(C)->data;
+
+	/* auto-enable bevel edge weight drawing, then chain to common transform code */
+	me->drawflag |= ME_DRAWBWEIGHTS;
+
+	return transform_invoke(C, op, event);
+}
+
+
 static void TRANSFORM_OT_edge_bevelweight(struct wmOperatorType *ot)
 {
 	/* identifiers */
@@ -892,8 +914,8 @@ static void TRANSFORM_OT_edge_bevelweight(struct wmOperatorType *ot)
 	ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO | OPTYPE_BLOCKING;
 
 	/* api callbacks */
-	ot->invoke = transform_invoke;
-	ot->exec   = transform_exec;
+	ot->invoke = edge_bevelweight_invoke;
+	ot->exec   = edge_bevelweight_exec;
 	ot->modal  = transform_modal;
 	ot->cancel = transform_cancel;
 	ot->poll   = ED_operator_editmesh;




More information about the Bf-blender-cvs mailing list