diff options
Diffstat (limited to 'source/blender/editors/mesh/editmesh_utils.c')
-rw-r--r-- | source/blender/editors/mesh/editmesh_utils.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/source/blender/editors/mesh/editmesh_utils.c b/source/blender/editors/mesh/editmesh_utils.c index 522c2f32d27..42404554ed8 100644 --- a/source/blender/editors/mesh/editmesh_utils.c +++ b/source/blender/editors/mesh/editmesh_utils.c @@ -325,7 +325,7 @@ void EDBM_mesh_make(Object *ob, const int select_mode, const bool add_key_index) * \warning This can invalidate the #Mesh runtime cache of other objects (for linked duplicates). * Most callers should run #DEG_id_tag_update on \a ob->data, see: T46738, T46913 */ -void EDBM_mesh_load(Main *bmain, Object *ob) +void EDBM_mesh_load_ex(Main *bmain, Object *ob, bool free_data) { Mesh *me = ob->data; BMesh *bm = me->edit_mesh->bm; @@ -341,6 +341,7 @@ void EDBM_mesh_load(Main *bmain, Object *ob) me, (&(struct BMeshToMeshParams){ .calc_object_remap = true, + .update_shapekey_indices = !free_data, })); /* Free derived mesh. usually this would happen through depsgraph but there @@ -380,6 +381,11 @@ void EDBM_mesh_clear(BMEditMesh *em) } } +void EDBM_mesh_load(Main *bmain, Object *ob) +{ + EDBM_mesh_load_ex(bmain, ob, true); +} + /** * Should only be called on the active editmesh, otherwise call #BKE_editmesh_free */ |