diff options
author | Campbell Barton <ideasman42@gmail.com> | 2020-01-15 04:31:14 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2020-01-15 04:33:23 +0300 |
commit | f164ea6eaae541c76a8589837796d81df143c9ca (patch) | |
tree | 372fec7d61335b2b3ed289c3f03d6e61feeac9a0 | |
parent | 3edd8d5b075a837df71b622ee42887795c838d79 (diff) |
Fix bevel leaving vertex/edge selection in an invalid state
-rw-r--r-- | source/blender/editors/mesh/editmesh_bevel.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/source/blender/editors/mesh/editmesh_bevel.c b/source/blender/editors/mesh/editmesh_bevel.c index b2b1e1ff4f5..887a971d516 100644 --- a/source/blender/editors/mesh/editmesh_bevel.c +++ b/source/blender/editors/mesh/editmesh_bevel.c @@ -425,7 +425,13 @@ static void edbm_bevel_exit(bContext *C, wmOperator *op) View3D *v3d = CTX_wm_view3d(C); ARegion *ar = CTX_wm_region(C); for (uint ob_index = 0; ob_index < opdata->ob_store_len; ob_index++) { + Object *obedit = opdata->ob_store[ob_index].ob; + BMEditMesh *em = BKE_editmesh_from_object(obedit); EDBM_redo_state_free(&opdata->ob_store[ob_index].mesh_backup, NULL, false); + /* Without this, faces surrounded by selected edges/verts will be unselected. */ + if ((em->selectmode & SCE_SELECT_FACE) == 0) { + EDBM_selectmode_flush(em); + } } ED_region_draw_cb_exit(ar->type, opdata->draw_handle_pixel); if (v3d) { |