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:
authorSybren A. Stüvel <sybren@stuvel.eu>2018-06-06 13:21:36 +0300
committerSybren A. Stüvel <sybren@stuvel.eu>2018-06-06 13:27:25 +0300
commit7a76223f1f12b6bb049df1864e5d0cda70060a8f (patch)
treeb292e6d96317aed2fc086bfdf1e3caad3ca0a668 /source/blender
parent8a0e6a31430fbf8ab322e953f6649d14cd147a7b (diff)
Ensure BKE_mesh_new_nomain_from_template() always has valid mxxx pointers
When the source mesh doesn't have the primary layers (CD_VERT for vdata, etc.) the returned mesh also didn't have those layers, even when non-zero elements were requested (for example requesting 4 vertices would still result in mvert = NULL).
Diffstat (limited to 'source/blender')
-rw-r--r--source/blender/blenkernel/intern/mesh.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/mesh.c b/source/blender/blenkernel/intern/mesh.c
index f2a5f3b5d5f..b325d8d02d9 100644
--- a/source/blender/blenkernel/intern/mesh.c
+++ b/source/blender/blenkernel/intern/mesh.c
@@ -670,6 +670,9 @@ static Mesh *mesh_new_nomain_from_template_ex(
mesh_tessface_clear_intern(me_dst, false);
}
+ /* The destination mesh should at least have valid primary CD layers,
+ * even in cases where the source mesh does not. */
+ mesh_ensure_cdlayers_primary(me_dst, do_tessface);
mesh_ensure_cdlayers_origindex(me_dst, false);
BKE_mesh_update_customdata_pointers(me_dst, false);