Fix a bug in CustomData_duplicate_referenced_layer(_named) functions: MEM_dupallocN...
[blender.git] / source / blender / blenkernel / intern / cdderivedmesh.c
index 2cf2225607ecceb512590d58879cbfe4fdc328bc..6f088b8abf75aaa93f3c5df08e85043792640319 100644 (file)
@@ -1870,7 +1870,7 @@ void CDDM_apply_vert_coords(DerivedMesh *dm, float (*vertCoords)[3])
        int i;
 
        /* this will just return the pointer if it wasn't a referenced layer */
-       vert = CustomData_duplicate_referenced_layer(&dm->vertData, CD_MVERT);
+       vert = CustomData_duplicate_referenced_layer(&dm->vertData, CD_MVERT, dm->numVertData);
        cddm->mvert = vert;
 
        for(i = 0; i < dm->numVertData; ++i, ++vert)
@@ -1884,7 +1884,7 @@ void CDDM_apply_vert_normals(DerivedMesh *dm, short (*vertNormals)[3])
        int i;
 
        /* this will just return the pointer if it wasn't a referenced layer */
-       vert = CustomData_duplicate_referenced_layer(&dm->vertData, CD_MVERT);
+       vert = CustomData_duplicate_referenced_layer(&dm->vertData, CD_MVERT, dm->numVertData);
        cddm->mvert = vert;
 
        for(i = 0; i < dm->numVertData; ++i, ++vert)
@@ -1899,7 +1899,7 @@ void CDDM_calc_normals(DerivedMesh *dm)
        if(dm->numVertData == 0) return;
 
        /* we don't want to overwrite any referenced layers */
-       cddm->mvert = CustomData_duplicate_referenced_layer(&dm->vertData, CD_MVERT);
+       cddm->mvert = CustomData_duplicate_referenced_layer(&dm->vertData, CD_MVERT, dm->numVertData);
 
        /* make a face normal layer if not present */
        face_nors = CustomData_get_layer(&dm->faceData, CD_NORMAL);