[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [58649] trunk/blender/source/blender: fix for bridge tool selection flushing (after recent api change), also exposed bug in bmesh edgering-subdiv operator.

Campbell Barton ideasman42 at gmail.com
Sat Jul 27 07:57:20 CEST 2013


Revision: 58649
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=58649
Author:   campbellbarton
Date:     2013-07-27 05:57:20 +0000 (Sat, 27 Jul 2013)
Log Message:
-----------
fix for bridge tool selection flushing (after recent api change), also exposed bug in bmesh edgering-subdiv operator.

Modified Paths:
--------------
    trunk/blender/source/blender/bmesh/operators/bmo_subdivide_edgering.c
    trunk/blender/source/blender/editors/mesh/editmesh_tools.c

Modified: trunk/blender/source/blender/bmesh/operators/bmo_subdivide_edgering.c
===================================================================
--- trunk/blender/source/blender/bmesh/operators/bmo_subdivide_edgering.c	2013-07-27 05:26:20 UTC (rev 58648)
+++ trunk/blender/source/blender/bmesh/operators/bmo_subdivide_edgering.c	2013-07-27 05:57:20 UTC (rev 58649)
@@ -1167,6 +1167,7 @@
 			bm_edgering_pair_ringsubd(bm, lpair, el_store_a, el_store_b,
 			                          interp_mode, cuts, smooth, falloff_cache);
 			bm_edgering_pair_store_free(lpair, interp_mode);
+			change = true;
 		}
 		else {
 			BMO_error_raise(bm, op, BMERR_INVALID_SELECTION,
@@ -1217,6 +1218,7 @@
 				bm_edgering_pair_ringsubd(bm, lpair, el_store_a, el_store_b,
 				                          interp_mode, cuts, smooth, falloff_cache);
 				bm_edgering_pair_store_free(lpair, interp_mode);
+				change = true;
 			}
 
 			BLI_assert(bm_verts_tag_count(bm) == 0);
@@ -1229,6 +1231,6 @@
 
 	/* flag output */
 	if (change) {
-		BMO_slot_buffer_flag_enable(bm, op->slots_out, "faces.out", BM_FACE, FACE_OUT);
+		BMO_slot_buffer_from_enabled_flag(bm, op, op->slots_out, "faces.out", BM_FACE, FACE_OUT);
 	}
 }

Modified: trunk/blender/source/blender/editors/mesh/editmesh_tools.c
===================================================================
--- trunk/blender/source/blender/editors/mesh/editmesh_tools.c	2013-07-27 05:26:20 UTC (rev 58648)
+++ trunk/blender/source/blender/editors/mesh/editmesh_tools.c	2013-07-27 05:57:20 UTC (rev 58649)
@@ -4034,14 +4034,23 @@
 			mesh_operator_edgering_props_get(op, &op_props);
 
 			if (op_props.cuts) {
+				BMOperator bmop_subd;
 				/* we only need face normals updated */
 				EDBM_mesh_normals_update(em);
 
-				BMO_op_callf(em->bm, BMO_FLAG_DEFAULTS,
-				             "subdivide_edgering edges=%S interp_mode=%i cuts=%i smooth=%f "
-				             "profile_shape=%i profile_shape_factor=%f",
-				             &bmop, "edges.out", op_props.interp_mode, op_props.cuts, op_props.smooth,
-				             op_props.profile_shape, op_props.profile_shape_factor);
+				BMO_op_initf(
+				        em->bm, &bmop_subd, op->flag,
+				        "subdivide_edgering edges=%S interp_mode=%i cuts=%i smooth=%f "
+				        "profile_shape=%i profile_shape_factor=%f",
+				        &bmop, "edges.out", op_props.interp_mode, op_props.cuts, op_props.smooth,
+				        op_props.profile_shape, op_props.profile_shape_factor
+				        );
+				BMO_op_exec(em->bm, &bmop_subd);
+
+				BMO_slot_buffer_hflag_enable(em->bm, bmop_subd.slots_out, "faces.out", BM_FACE, BM_ELEM_SELECT, true);
+
+				BMO_op_finish(em->bm, &bmop_subd);
+
 			}
 		}
 	}




More information about the Bf-blender-cvs mailing list