[Bf-blender-cvs] [c8e5eb58e59] blender2.7: Fix T59640: Transform w/ auto-merge & hidden verts crashes

Campbell Barton noreply at git.blender.org
Wed Jan 16 05:05:59 CET 2019


Commit: c8e5eb58e59e36fa1ecb09c7642dd09be2fbdc88
Author: Campbell Barton
Date:   Wed Jan 16 14:54:52 2019 +1100
Branches: blender2.7
https://developer.blender.org/rBc8e5eb58e59e36fa1ecb09c7642dd09be2fbdc88

Fix T59640: Transform w/ auto-merge & hidden verts crashes

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

M	source/blender/bmesh/intern/bmesh_operators.c
M	source/blender/editors/sculpt_paint/sculpt.c

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

diff --git a/source/blender/bmesh/intern/bmesh_operators.c b/source/blender/bmesh/intern/bmesh_operators.c
index 546bd9fb461..61a86070f76 100644
--- a/source/blender/bmesh/intern/bmesh_operators.c
+++ b/source/blender/bmesh/intern/bmesh_operators.c
@@ -1847,7 +1847,12 @@ bool BMO_op_vinitf(BMesh *bm, BMOperator *op, const int flag, const char *_fmt,
 							BMO_slot_buffer_from_disabled_hflag(bm, op, op->slots_in, slot_name, htype, va_arg(vlist, int));
 						}
 						else if (type == 'a') {
-							BMO_slot_buffer_from_all(bm, op, op->slots_in, slot_name, htype);
+							if ((op->flag & BMO_FLAG_RESPECT_HIDE) == 0) {
+								BMO_slot_buffer_from_all(bm, op, op->slots_in, slot_name, htype);
+							}
+							else {
+								BMO_slot_buffer_from_disabled_hflag(bm, op, op->slots_in, slot_name, htype, BM_ELEM_HIDDEN);
+							}
 						}
 						else if (type == 'f') {
 							BMO_slot_buffer_from_enabled_flag(bm, op, op->slots_in, slot_name, htype, va_arg(vlist, int));
diff --git a/source/blender/editors/sculpt_paint/sculpt.c b/source/blender/editors/sculpt_paint/sculpt.c
index 95205ad69f2..2a49c6dc388 100644
--- a/source/blender/editors/sculpt_paint/sculpt.c
+++ b/source/blender/editors/sculpt_paint/sculpt.c
@@ -5578,7 +5578,7 @@ static int sculpt_symmetrize_exec(bContext *C, wmOperator *UNUSED(op))
 	BM_mesh_toolflags_set(ss->bm, true);
 
 	/* Symmetrize and re-triangulate */
-	BMO_op_callf(ss->bm, BMO_FLAG_DEFAULTS,
+	BMO_op_callf(ss->bm, (BMO_FLAG_DEFAULTS & ~BMO_FLAG_RESPECT_HIDE),
 	             "symmetrize input=%avef direction=%i  dist=%f",
 	             sd->symmetrize_direction, 0.00001f);
 	sculpt_dynamic_topology_triangulate(ss->bm);



More information about the Bf-blender-cvs mailing list