[Bf-blender-cvs] [96ce50449c3] master: Fix T52733 Percent mode for Bevel sometimes had nans.

Howard Trickey noreply at git.blender.org
Tue Sep 19 15:50:14 CEST 2017


Commit: 96ce50449c3060514e28d79d7e488d0d2b16354e
Author: Howard Trickey
Date:   Tue Sep 19 09:38:17 2017 -0400
Branches: master
https://developer.blender.org/rB96ce50449c3060514e28d79d7e488d0d2b16354e

Fix T52733 Percent  mode for Bevel sometimes had nans.

Forgot some initialization.

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

M	source/blender/editors/mesh/editmesh_bevel.c

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

diff --git a/source/blender/editors/mesh/editmesh_bevel.c b/source/blender/editors/mesh/editmesh_bevel.c
index a81add7a86e..6b4f3516338 100644
--- a/source/blender/editors/mesh/editmesh_bevel.c
+++ b/source/blender/editors/mesh/editmesh_bevel.c
@@ -150,6 +150,7 @@ static bool edbm_bevel_init(bContext *C, wmOperator *op, const bool is_modal)
 
 	for (i = 0; i < NUM_VALUE_KINDS; i++) {
 		opdata->shift_value[i] = -1.0f;
+		opdata->initial_length[i] = -1.0f;
 		/* note: scale for OFFSET_VALUE will get overwritten in edbm_bevel_invoke */
 		opdata->scale[i] = value_scale_per_inch[i] / pixels_per_inch; 
 
@@ -300,7 +301,7 @@ static void edbm_bevel_calc_initial_length(wmOperator *op, const wmEvent *event,
 	mlen[1] = opdata->mcenter[1] - event->mval[1];
 	len = len_v2(mlen);
 	vmode = opdata->value_mode;
-	if (mode_changed) {
+	if (mode_changed || opdata->initial_length[vmode] == -1.0f) {
 		/* If current value is not default start value, adjust len so that 
 		 * the scaling and offset in edbm_bevel_mouse_set_value will
 		 * start at current value */
@@ -506,6 +507,8 @@ static int edbm_bevel_modal(bContext *C, wmOperator *op, const wmEvent *event)
 					else if (opdata->value_mode == OFFSET_VALUE_PERCENT && type != BEVEL_AMT_PERCENT)
 						opdata->value_mode = OFFSET_VALUE;
 					RNA_property_enum_set(op->ptr, prop, type);
+					if (opdata->initial_length[opdata->value_mode] == -1.0f)
+						edbm_bevel_calc_initial_length(op, event, true);
 				}
 				/* Update offset accordingly to new offset_type. */
 				if (!has_numinput &&



More information about the Bf-blender-cvs mailing list