Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2019-01-16 06:54:52 +0300
committerCampbell Barton <ideasman42@gmail.com>2019-01-16 07:03:17 +0300
commitbeaa66bb13a5d801ec10957922b2d90e04ca5d7c (patch)
tree7ca67d898abc8e536e3b231382c892e2404766c1
parent6299d84e103f3c8e0bb49188f0353220abb5c860 (diff)
Fix T59640: Transform w/ auto-merge & hidden verts crashes
-rw-r--r--source/blender/bmesh/intern/bmesh_operators.c7
-rw-r--r--source/blender/editors/sculpt_paint/sculpt.c2
2 files changed, 7 insertions, 2 deletions
diff --git a/source/blender/bmesh/intern/bmesh_operators.c b/source/blender/bmesh/intern/bmesh_operators.c
index 4bc09c173f6..60de182499b 100644
--- a/source/blender/bmesh/intern/bmesh_operators.c
+++ b/source/blender/bmesh/intern/bmesh_operators.c
@@ -1851,7 +1851,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 53c7d4aebbd..d7a2c38f340 100644
--- a/source/blender/editors/sculpt_paint/sculpt.c
+++ b/source/blender/editors/sculpt_paint/sculpt.c
@@ -5600,7 +5600,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);