From 0a8d6bd8933759ad9f538bbf5d8fa2c39b8400f2 Mon Sep 17 00:00:00 2001 From: Germano Date: Tue, 15 May 2018 16:15:14 -0300 Subject: [PATCH] Transform: Snap: Make sure if bmesh arrays need to be recalculated. --- .../editors/transform/transform_snap_object.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/source/blender/editors/transform/transform_snap_object.c b/source/blender/editors/transform/transform_snap_object.c index 9140e8a4ba0..eb8fa0480ce 100644 --- a/source/blender/editors/transform/transform_snap_object.c +++ b/source/blender/editors/transform/transform_snap_object.c @@ -1726,9 +1726,15 @@ static bool snapEditMesh( .dist_sq = SQUARE(*dist_px), }; - BVHTree_NearestProjectedCallback cb_walk_leaf = - (snapdata->snap_to == SCE_SNAP_MODE_VERTEX) ? - cb_walk_leaf_snap_vert : cb_walk_leaf_snap_edge; + BVHTree_NearestProjectedCallback cb_walk_leaf; + if (snapdata->snap_to == SCE_SNAP_MODE_VERTEX) { + cb_walk_leaf = cb_walk_leaf_snap_vert; + BM_mesh_elem_table_ensure(em->bm, BM_VERT); + } + else { + cb_walk_leaf = cb_walk_leaf_snap_edge; + BM_mesh_elem_table_ensure(em->bm, BM_EDGE | BM_VERT); + } float lpmat[4][4]; mul_m4_m4m4(lpmat, snapdata->pmat, obmat);