Merge branch 'blender-v2.91-release'

This commit is contained in:
Campbell Barton 2020-10-26 22:06:57 +11:00
commit 57fc44de6c
1 changed files with 21 additions and 0 deletions

View File

@ -1765,11 +1765,16 @@ static bool edbm_edge_split_selected_edges(wmOperator *op, Object *obedit, BMEdi
if (bm->totedgesel == 0) {
return false;
}
BM_custom_loop_normals_to_vector_layer(em->bm);
if (!EDBM_op_call_and_selectf(
em, op, "edges.out", false, "split_edges edges=%he", BM_ELEM_SELECT)) {
return false;
}
BM_custom_loop_normals_from_vector_layer(em->bm, false);
EDBM_select_flush(em);
EDBM_update_generic(obedit->data, true, true);
@ -1805,6 +1810,8 @@ static bool edbm_edge_split_selected_verts(wmOperator *op, Object *obedit, BMEdi
}
}
BM_custom_loop_normals_to_vector_layer(em->bm);
if (!EDBM_op_callf(em,
op,
"split_edges edges=%he verts=%hv use_verts=%b",
@ -1836,6 +1843,8 @@ static bool edbm_edge_split_selected_verts(wmOperator *op, Object *obedit, BMEdi
}
}
BM_custom_loop_normals_from_vector_layer(em->bm, false);
EDBM_select_flush(em);
EDBM_update_generic(obedit->data, true, true);
@ -5284,6 +5293,8 @@ static int edbm_quads_convert_to_tris_exec(bContext *C, wmOperator *op)
BMOIter oiter;
BMFace *f;
BM_custom_loop_normals_to_vector_layer(em->bm);
EDBM_op_init(em,
&bmop,
op,
@ -5308,6 +5319,8 @@ static int edbm_quads_convert_to_tris_exec(bContext *C, wmOperator *op)
continue;
}
BM_custom_loop_normals_from_vector_layer(em->bm, false);
EDBM_update_generic(obedit->data, true, true);
}
@ -5997,6 +6010,8 @@ static int edbm_dissolve_limited_exec(bContext *C, wmOperator *op)
dissolve_flag = BM_ELEM_SELECT;
}
BM_custom_loop_normals_to_vector_layer(em->bm);
EDBM_op_call_and_selectf(
em,
op,
@ -6009,6 +6024,8 @@ static int edbm_dissolve_limited_exec(bContext *C, wmOperator *op)
use_dissolve_boundaries,
delimit);
BM_custom_loop_normals_from_vector_layer(em->bm, false);
EDBM_update_generic(obedit->data, true, true);
}
MEM_freeN(objects);
@ -6233,6 +6250,8 @@ static int edbm_split_exec(bContext *C, wmOperator *op)
if ((em->bm->totvertsel == 0) && (em->bm->totedgesel == 0) && (em->bm->totfacesel == 0)) {
continue;
}
BM_custom_loop_normals_to_vector_layer(em->bm);
BMOperator bmop;
EDBM_op_init(em, &bmop, op, "split geom=%hvef use_only_faces=%b", BM_ELEM_SELECT, false);
BMO_op_exec(em->bm, &bmop);
@ -6240,6 +6259,8 @@ static int edbm_split_exec(bContext *C, wmOperator *op)
BMO_slot_buffer_hflag_enable(
em->bm, bmop.slots_out, "geom.out", BM_ALL_NOLOOP, BM_ELEM_SELECT, true);
BM_custom_loop_normals_from_vector_layer(em->bm, false);
if (!EDBM_op_finish(em, &bmop, op, true)) {
continue;
}