Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Dinges <blender@dingto.org>2022-02-14 19:48:52 +0300
committerThomas Dinges <blender@dingto.org>2022-02-14 19:48:52 +0300
commit19403fc852224b2c29df3e5f1f2106ba91f105a2 (patch)
tree59818c3cf9e14fbfa2e54ee8817bf1d8b78ea07c /source/blender/blenkernel/intern/mesh_convert.cc
parentd8e2f612ec52ce0272cbc8a5e9ff0c6b89ce16a6 (diff)
parenta5edff4b73ba74155dcad93103e2fef2c59df67f (diff)
Merge branch 'blender-v3.1-release'
Diffstat (limited to 'source/blender/blenkernel/intern/mesh_convert.cc')
-rw-r--r--source/blender/blenkernel/intern/mesh_convert.cc8
1 files changed, 7 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/mesh_convert.cc b/source/blender/blenkernel/intern/mesh_convert.cc
index 7de2841dc9f..c3d819bf46e 100644
--- a/source/blender/blenkernel/intern/mesh_convert.cc
+++ b/source/blender/blenkernel/intern/mesh_convert.cc
@@ -1037,7 +1037,12 @@ static Mesh *mesh_new_from_mesh(Object *object, Mesh *mesh)
{
/* While we could copy this into the new mesh,
* add the data to 'mesh' so future calls to this function don't need to re-convert the data. */
- BKE_mesh_wrapper_ensure_mdata(mesh);
+ if (mesh->runtime.wrapper_type == ME_WRAPPER_TYPE_BMESH) {
+ BKE_mesh_wrapper_ensure_mdata(mesh);
+ }
+ else {
+ BKE_mesh_wrapper_ensure_subdivision(object, mesh);
+ }
Mesh *mesh_result = (Mesh *)BKE_id_copy_ex(
nullptr, &mesh->id, nullptr, LIB_ID_CREATE_NO_MAIN | LIB_ID_CREATE_NO_USER_REFCOUNT);
@@ -1074,6 +1079,7 @@ static Mesh *mesh_new_from_mesh_object_with_layers(Depsgraph *depsgraph,
mask.pmask |= CD_MASK_ORIGINDEX;
}
Mesh *result = mesh_create_eval_final(depsgraph, scene, &object_for_eval, &mask);
+ BKE_mesh_wrapper_ensure_subdivision(object, result);
return result;
}