diff options
author | Campbell Barton <ideasman42@gmail.com> | 2020-02-25 13:30:23 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2020-02-25 13:30:23 +0300 |
commit | e6be2af061ba154ec633fcaf3e4caecacec521c6 (patch) | |
tree | b14b0c14b976f013b1551cb777b0f178b39c79cb /source/blender/editors/uvedit/uvedit_unwrap_ops.c | |
parent | bd03fe1ab0d09aa7bb29bdcd3d57db772b1dadbd (diff) |
Cleanup: remove cddm_from_bmesh
Use BKE_mesh_from_bmesh_for_eval_nomain instead.
Diffstat (limited to 'source/blender/editors/uvedit/uvedit_unwrap_ops.c')
-rw-r--r-- | source/blender/editors/uvedit/uvedit_unwrap_ops.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/source/blender/editors/uvedit/uvedit_unwrap_ops.c b/source/blender/editors/uvedit/uvedit_unwrap_ops.c index 1e758771f6a..49acf0ca3a4 100644 --- a/source/blender/editors/uvedit/uvedit_unwrap_ops.c +++ b/source/blender/editors/uvedit/uvedit_unwrap_ops.c @@ -53,6 +53,8 @@ #include "BKE_scene.h" #include "BKE_editmesh.h" #include "BKE_layer.h" +#include "BKE_lib_id.h" +#include "BKE_mesh.h" #include "DEG_depsgraph.h" @@ -500,11 +502,15 @@ static ParamHandle *construct_param_handle_subsurfed(const Scene *scene, smd.levels = smd_real->levels; smd.subdivType = smd_real->subdivType; - initialDerived = CDDM_from_editbmesh(em, false); - derivedMesh = subsurf_make_derived_from_derived( - initialDerived, &smd, scene, NULL, SUBSURF_IN_EDIT_MODE); + { + Mesh *me_from_em = BKE_mesh_from_bmesh_for_eval_nomain(em->bm, NULL, ob->data); + initialDerived = CDDM_from_mesh_ex(me_from_em, CD_REFERENCE, &CD_MASK_MESH); + derivedMesh = subsurf_make_derived_from_derived( + initialDerived, &smd, scene, NULL, SUBSURF_IN_EDIT_MODE); - initialDerived->release(initialDerived); + initialDerived->release(initialDerived); + BKE_id_free(NULL, me_from_em); + } /* get the derived data */ subsurfedVerts = derivedMesh->getVertArray(derivedMesh); |