From 4b56c1829073d85a9c9dedd5e6cd7bd8b584debd Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Wed, 6 Jan 2021 18:45:35 +1100 Subject: Fix T84426: Limit dissolve ignores selection with custom normals Regression in 9969c2dd165c7d8ffe607a5a050a80aa59ac50be. Add note that custom normal calculation functions write into to tags. --- source/blender/editors/mesh/editmesh_tools.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'source/blender/editors/mesh/editmesh_tools.c') diff --git a/source/blender/editors/mesh/editmesh_tools.c b/source/blender/editors/mesh/editmesh_tools.c index 18b5713e736..26efcf88082 100644 --- a/source/blender/editors/mesh/editmesh_tools.c +++ b/source/blender/editors/mesh/editmesh_tools.c @@ -1790,6 +1790,8 @@ static bool edbm_edge_split_selected_verts(wmOperator *op, Object *obedit, BMEdi return false; } + BM_custom_loop_normals_to_vector_layer(em->bm); + /* Flush from vertices to edges. */ BMIter iter; BMEdge *eed; @@ -1809,8 +1811,6 @@ 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", @@ -5966,6 +5966,8 @@ static int edbm_dissolve_limited_exec(bContext *C, wmOperator *op) continue; } + BM_custom_loop_normals_to_vector_layer(em->bm); + if (em->selectmode == SCE_SELECT_FACE) { /* flush selection to tags and untag edges/verts with partially selected faces */ BMIter iter; @@ -5997,8 +5999,6 @@ 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, -- cgit v1.2.3