diff --git a/source/blender/editors/include/ED_mesh.h b/source/blender/editors/include/ED_mesh.h index e5261eb9c46..41472f01499 100644 --- a/source/blender/editors/include/ED_mesh.h +++ b/source/blender/editors/include/ED_mesh.h @@ -159,10 +159,10 @@ int EDBM_get_actSelection(struct BMEditMesh *em, struct BMEditSelection *ese); /*exactly the same as EDBM_selectmode_flush, but you pass in the selectmode instead of using the current one*/ -void EDBM_select_flush(struct BMEditMesh *em, int selectmode); +void EDBM_select_mode_flush(struct BMEditMesh *em, int selectmode); -void EDBM_deselectmode_flush(struct BMEditMesh *em); -void EDBM_selectmode_flush(struct BMEditMesh *em); +void EDBM_deselect_flush(struct BMEditMesh *em); +void EDBM_select_flush(struct BMEditMesh *em); void EDBM_selectmode_set(struct BMEditMesh *em); void EDBM_convertsel(struct BMEditMesh *em, short oldmode, short selectmode); diff --git a/source/blender/editors/mesh/bmesh_select.c b/source/blender/editors/mesh/bmesh_select.c index faee9f49ee1..40ce1973c57 100644 --- a/source/blender/editors/mesh/bmesh_select.c +++ b/source/blender/editors/mesh/bmesh_select.c @@ -766,7 +766,7 @@ static int similar_edge_select_exec(bContext *C, wmOperator *op) /* select the output */ BMO_HeaderFlag_Buffer(em->bm, &bmop, "edgeout", BM_SELECT, BM_ALL); - EDBM_selectmode_flush(em); + EDBM_select_flush(em); /* finish the operator */ if (!EDBM_FinishOp(em, &bmop, op, TRUE)) { @@ -817,7 +817,7 @@ static int similar_vert_select_exec(bContext *C, wmOperator *op) return OPERATOR_CANCELLED; } - EDBM_selectmode_flush(em); + EDBM_select_flush(em); /* dependencies graph and notification stuff */ DAG_id_tag_update(ob->data, OB_RECALC_DATA); @@ -956,14 +956,14 @@ static int loop_multiselect(bContext *C, wmOperator *op) eed = edarray[edindex]; walker_select(em, BMW_EDGERING, eed, 1); } - EDBM_selectmode_flush(em); + EDBM_select_flush(em); } else{ for(edindex = 0; edindex < totedgesel; edindex +=1) { eed = edarray[edindex]; walker_select(em, BMW_LOOP, eed, 1); } - EDBM_selectmode_flush(em); + EDBM_select_flush(em); } MEM_freeN(edarray); // if (EM_texFaceCheck()) @@ -1041,7 +1041,7 @@ static void mouse_mesh_loop(bContext *C, int mval[2], short extend, short ring) walker_select(em, BMW_LOOP, eed, select); } - EDBM_selectmode_flush(em); + EDBM_select_flush(em); // if (EM_texFaceCheck()) /* sets as active, useful for other tools */ @@ -1394,7 +1394,7 @@ static void mouse_mesh_shortest_path(bContext *C, int mval[2]) edgetag_context_set(em, vc.scene, e, act); /* switch the edge option */ } - EDBM_selectmode_flush(em); + EDBM_select_flush(em); /* even if this is selected it may not be in the selection list */ if (edgetag_context_check(vc.scene, em, e)==0) @@ -1506,7 +1506,7 @@ int mouse_mesh(bContext *C, const int mval[2], short extend) } } - EDBM_selectmode_flush(vc.em); + EDBM_select_flush(vc.em); // if (EM_texFaceCheck()) { @@ -1575,7 +1575,7 @@ void EDBM_selectmode_set(BMEditMesh *em) efa = BMIter_New(&iter, em->bm, BM_FACES_OF_MESH, NULL); for ( ; efa; efa=BMIter_Step(&iter)) BM_Select(em->bm, efa, FALSE);*/ - EDBM_selectmode_flush(em); + EDBM_select_flush(em); } else if (em->selectmode & SCE_SELECT_EDGE) { /* deselect vertices, and select again based on edge select */ @@ -1590,7 +1590,7 @@ void EDBM_selectmode_set(BMEditMesh *em) } /* selects faces based on edge status */ - EDBM_selectmode_flush(em); + EDBM_select_flush(em); } else if (em->selectmode & SCE_SELECT_FACE) { /* deselect eges, and select again based on face select */ @@ -1809,7 +1809,7 @@ static int select_linked_pick_invoke(bContext *C, wmOperator *op, wmEvent *event BM_Select(bm, e->v2, sel); } BMW_End(&walker); - EDBM_select_flush(em, SCE_SELECT_VERTEX); + EDBM_select_mode_flush(em, SCE_SELECT_VERTEX); } WM_event_add_notifier(C, NC_GEOM|ND_SELECT, obedit); @@ -1908,7 +1908,7 @@ static int select_linked_exec(bContext *C, wmOperator *op) } BMW_End(&walker); } - EDBM_select_flush(em, SCE_SELECT_VERTEX); + EDBM_select_mode_flush(em, SCE_SELECT_VERTEX); WM_event_add_notifier(C, NC_GEOM|ND_SELECT, obedit); @@ -2052,7 +2052,7 @@ static void walker_deselect_nth(BMEditMesh *em, int nth, int offset, BMHeader *h BMO_pop(bm); /* Flush selection up */ - EDBM_select_flush(em, flushtype); + EDBM_select_mode_flush(em, flushtype); } static void deselect_nth_active(BMEditMesh *em, BMVert **v_p, BMEdge **e_p, BMFace **f_p) @@ -2067,7 +2067,7 @@ static void deselect_nth_active(BMEditMesh *em, BMVert **v_p, BMEdge **e_p, BMFa *e_p= NULL; *f_p= NULL; - EDBM_selectmode_flush(em); + EDBM_select_flush(em); ese= (BMEditSelection*)em->bm->selected.last; if (ese) { @@ -2399,7 +2399,7 @@ static int mesh_select_random_exec(bContext *C, wmOperator *op) BM_Select(em->bm, eve, TRUE); } } - EDBM_selectmode_flush(em); + EDBM_select_flush(em); } else if (em->selectmode & SCE_SELECT_EDGE) { BM_ITER(eed, &iter, em->bm, BM_EDGES_OF_MESH, NULL) { @@ -2407,7 +2407,7 @@ static int mesh_select_random_exec(bContext *C, wmOperator *op) BM_Select(em->bm, eed, TRUE); } } - EDBM_selectmode_flush(em); + EDBM_select_flush(em); } else { BM_ITER(efa, &iter, em->bm, BM_FACES_OF_MESH, NULL) { @@ -2415,7 +2415,7 @@ static int mesh_select_random_exec(bContext *C, wmOperator *op) BM_Select(em->bm, efa, TRUE); } } - EDBM_selectmode_flush(em); + EDBM_select_flush(em); } WM_event_add_notifier(C, NC_GEOM|ND_SELECT, obedit->data); diff --git a/source/blender/editors/mesh/bmesh_tools.c b/source/blender/editors/mesh/bmesh_tools.c index 4ac8a02ed9b..15ca5ed95e4 100644 --- a/source/blender/editors/mesh/bmesh_tools.c +++ b/source/blender/editors/mesh/bmesh_tools.c @@ -1445,7 +1445,7 @@ void EDBM_hide_mesh(BMEditMesh *em, int swap) BM_Hide(em->bm, h, 1); } - EDBM_selectmode_flush(em); + EDBM_select_flush(em); /*original hide flushing comment (OUTDATED): hide happens on least dominant select mode, and flushes up, not down! (helps preventing errors in subsurf) */ @@ -1532,7 +1532,7 @@ void EDBM_reveal_mesh(BMEditMesh *em) } } - EDBM_selectmode_flush(em); + EDBM_select_flush(em); } static int reveal_mesh_exec(bContext *C, wmOperator *UNUSED(op)) @@ -2296,7 +2296,7 @@ static int select_vertex_path_exec(bContext *C, wmOperator *op) return OPERATOR_CANCELLED; } - EDBM_selectmode_flush(em); + EDBM_select_flush(em); /* dependencies graph and notification stuff */ /* DAG_object_flush_update(scene, ob, OB_RECALC_DATA); @@ -2541,7 +2541,7 @@ static int mesh_rip_invoke(bContext *C, wmOperator *op, wmEvent *event) BM_Select(bm, ripvert, TRUE); } - EDBM_selectmode_flush(em); + EDBM_select_flush(em); BLI_assert(singlesel ? (bm->totvertsel > 0) : (bm->totedgesel > 0)); @@ -2788,7 +2788,7 @@ static int select_axis_exec(bContext *C, wmOperator *op) } } - EDBM_selectmode_flush(em); + EDBM_select_flush(em); WM_event_add_notifier(C, NC_GEOM|ND_DATA, obedit->data); return OPERATOR_FINISHED; @@ -3303,7 +3303,7 @@ static int mesh_separate_loose(Main *bmain, Scene *scene, Base *editbase, wmOper /*Flush the selection to clear edge/face selections to match selected vertices*/ - EDBM_select_flush(em, SCE_SELECT_VERTEX); + EDBM_select_mode_flush(em, SCE_SELECT_VERTEX); /*A "while(true)" loop should work here as each iteration should select and remove at least one vertex and when all vertices @@ -3342,7 +3342,7 @@ static int mesh_separate_loose(Main *bmain, Scene *scene, Base *editbase, wmOper /*Flush the selection to get edge/face selections matching the vertex selection*/ - EDBM_select_flush(em, SCE_SELECT_VERTEX); + EDBM_select_mode_flush(em, SCE_SELECT_VERTEX); if (bm->totvert == bm->totvertsel) { /* Every vertex selected, nothing to separate, work is done */ @@ -3849,7 +3849,7 @@ static int select_by_number_vertices_exec(bContext *C, wmOperator *op) } } - EDBM_selectmode_flush(em); + EDBM_select_flush(em); WM_event_add_notifier(C, NC_GEOM|ND_SELECT, obedit->data); return OPERATOR_FINISHED; @@ -3905,7 +3905,7 @@ static int select_loose_verts_exec(bContext *C, wmOperator *UNUSED(op)) } } - EDBM_selectmode_flush(em); + EDBM_select_flush(em); WM_event_add_notifier(C, NC_GEOM|ND_SELECT, obedit->data); return OPERATOR_FINISHED; @@ -3933,7 +3933,7 @@ static int select_mirror_exec(bContext *C, wmOperator *op) int extend= RNA_boolean_get(op->ptr, "extend"); EDBM_select_mirrored(obedit, em, extend); - EDBM_selectmode_flush(em); + EDBM_select_flush(em); WM_event_add_notifier(C, NC_GEOM|ND_SELECT, obedit->data); return OPERATOR_FINISHED; diff --git a/source/blender/editors/mesh/bmeshutils.c b/source/blender/editors/mesh/bmeshutils.c index 62e760ae838..daa95139978 100644 --- a/source/blender/editors/mesh/bmeshutils.c +++ b/source/blender/editors/mesh/bmeshutils.c @@ -418,21 +418,24 @@ BMFace *EDBM_get_face_for_index(BMEditMesh *tm, int index) return (tm->face_index && indexbm->totface && index>=0) ? tm->face_index[index] : NULL; } -void EDBM_select_flush(BMEditMesh *em, int selectmode) +void EDBM_select_mode_flush(BMEditMesh *em, int selectmode) { em->bm->selectmode = selectmode; BM_SelectMode_Flush(em->bm); em->bm->selectmode = em->selectmode; } -void EDBM_deselectmode_flush(BMEditMesh *em) +void EDBM_deselect_flush(BMEditMesh *em) { + /* function below doesnt use. just do this to keep the values in sync */ + em->bm->selectmode = em->selectmode; BM_DeSelect_Flush(em->bm); } -void EDBM_selectmode_flush(BMEditMesh *em) +void EDBM_select_flush(BMEditMesh *em) { + /* function below doesnt use. just do this to keep the values in sync */ em->bm->selectmode = em->selectmode; BM_Select_Flush(em->bm); } @@ -449,7 +452,7 @@ void EDBM_select_more(BMEditMesh *em) BMO_HeaderFlag_Buffer(em->bm, &bmop, "geomout", BM_SELECT, BM_ALL); BMO_Finish_Op(em->bm, &bmop); - EDBM_selectmode_flush(em); + EDBM_select_flush(em); } void EDBM_select_less(BMEditMesh *em) @@ -464,7 +467,7 @@ void EDBM_select_less(BMEditMesh *em) BMO_HeaderFlag_Buffer(em->bm, &bmop, "geomout", BM_SELECT, BM_ALL); BMO_Finish_Op(em->bm, &bmop); - EDBM_selectmode_flush(em); + EDBM_select_flush(em); } int EDBM_get_actSelection(BMEditMesh *em, BMEditSelection *ese) diff --git a/source/blender/editors/mesh/editbmesh_add.c b/source/blender/editors/mesh/editbmesh_add.c index 1e196fc7311..997f96db735 100644 --- a/source/blender/editors/mesh/editbmesh_add.c +++ b/source/blender/editors/mesh/editbmesh_add.c @@ -152,7 +152,7 @@ static void make_prim_finish(bContext *C, int *state, int enter_editmode) /* Primitive has all verts selected, use vert select flush to push this up to edges & faces. */ - EDBM_select_flush(em, SCE_SELECT_VERTEX); + EDBM_select_mode_flush(em, SCE_SELECT_VERTEX); DAG_id_tag_update(obedit->data, OB_RECALC_DATA); WM_event_add_notifier(C, NC_GEOM|ND_DATA, obedit->data); diff --git a/source/blender/editors/mesh/loopcut.c b/source/blender/editors/mesh/loopcut.c index 11f936a6a9f..5081ad1600b 100644 --- a/source/blender/editors/mesh/loopcut.c +++ b/source/blender/editors/mesh/loopcut.c @@ -333,11 +333,11 @@ static void ringsel_finish(bContext *C, wmOperator *op) /* sets as active, useful for other tools */ if(em->selectmode & SCE_SELECT_VERTEX) - EDBM_selectmode_flush(em); + EDBM_select_flush(em); if(em->selectmode & SCE_SELECT_EDGE) - EDBM_selectmode_flush(em); + EDBM_select_flush(em); - EDBM_selectmode_flush(lcd->em); + EDBM_select_flush(lcd->em); WM_event_add_notifier(C, NC_GEOM|ND_SELECT, lcd->ob->data); } } diff --git a/source/blender/editors/object/object_hook.c b/source/blender/editors/object/object_hook.c index 73bd8f433fd..12bf5742dbc 100644 --- a/source/blender/editors/object/object_hook.c +++ b/source/blender/editors/object/object_hook.c @@ -155,7 +155,7 @@ static void select_editbmesh_hook(Object *ob, HookModifierData *hmd) nr++; } - EDBM_selectmode_flush(em); + EDBM_select_flush(em); } static int return_editlattice_indexar(Lattice *editlatt, int *tot, int **indexar, float *cent) diff --git a/source/blender/editors/object/object_vgroup.c b/source/blender/editors/object/object_vgroup.c index f41b5af71a6..8335d8943d2 100644 --- a/source/blender/editors/object/object_vgroup.c +++ b/source/blender/editors/object/object_vgroup.c @@ -602,8 +602,8 @@ static void vgroup_select_verts(Object *ob, int select) } /* this has to be called, because this function operates on vertices only */ - if(select) EDBM_selectmode_flush(em); // vertices to edges/faces - else EDBM_deselectmode_flush(em); + if(select) EDBM_select_flush(em); // vertices to edges/faces + else EDBM_deselect_flush(em); } else { if (me->dvert) { diff --git a/source/blender/editors/space_view3d/view3d_select.c b/source/blender/editors/space_view3d/view3d_select.c index 204fa132c18..7e6b77047ea 100644 --- a/source/blender/editors/space_view3d/view3d_select.c +++ b/source/blender/editors/space_view3d/view3d_select.c @@ -562,7 +562,7 @@ static void do_lasso_select_mesh(ViewContext *vc, int mcords[][2], short moves, } EDBM_free_backbuf(); - EDBM_selectmode_flush(vc->em); + EDBM_select_flush(vc->em); } #if 0 @@ -1819,7 +1819,7 @@ static int do_mesh_box_select(ViewContext *vc, rcti *rect, int select, int exten EDBM_free_backbuf(); - EDBM_selectmode_flush(vc->em); + EDBM_select_flush(vc->em); return OPERATOR_FINISHED; } @@ -2348,7 +2348,7 @@ static void mesh_circle_select(ViewContext *vc, int select, const int mval[2], f } EDBM_free_backbuf(); - EDBM_selectmode_flush(vc->em); + EDBM_select_flush(vc->em); } static void paint_facesel_circle_select(ViewContext *vc, int select, const int mval[2], float rad) diff --git a/source/blender/editors/uvedit/uvedit_ops.c b/source/blender/editors/uvedit/uvedit_ops.c index 1d0749b848c..f7bc631e27c 100644 --- a/source/blender/editors/uvedit/uvedit_ops.c +++ b/source/blender/editors/uvedit/uvedit_ops.c @@ -2179,7 +2179,7 @@ static int mouse_select(bContext *C, float co[2], int extend, int loop) if(sync) { /* flush for mesh selection */ if(ts->selectmode != SCE_SELECT_FACE) { - if(flush==1) EDBM_select_flush(em, ts->selectmode); + if(flush==1) EDBM_select_mode_flush(em, ts->selectmode); //else if(flush==-1) EDBM_deselect_flush(em); <-- I think this takes care of itself. . . } }