diff options
Diffstat (limited to 'source/blender/blenkernel/intern/deform.c')
-rw-r--r-- | source/blender/blenkernel/intern/deform.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/source/blender/blenkernel/intern/deform.c b/source/blender/blenkernel/intern/deform.c index cea92d53916..de15100de0b 100644 --- a/source/blender/blenkernel/intern/deform.c +++ b/source/blender/blenkernel/intern/deform.c @@ -809,7 +809,7 @@ void BKE_defvert_array_copy(MDeformVert *dst, const MDeformVert *src, int copyco } -void BKE_defvert_array_free(MDeformVert *dvert, int totvert) +void BKE_defvert_array_free_elems(MDeformVert *dvert, int totvert) { /* Instead of freeing the verts directly, * call this function to delete any special @@ -823,6 +823,18 @@ void BKE_defvert_array_free(MDeformVert *dvert, int totvert) for (i = 0; i < totvert; i++) { if (dvert[i].dw) MEM_freeN(dvert[i].dw); } - MEM_freeN(dvert); } +void BKE_defvert_array_free(MDeformVert *dvert, int totvert) +{ + /* Instead of freeing the verts directly, + * call this function to delete any special + * vert data */ + if (!dvert) + return; + + /* Free any special data from the verts */ + BKE_defvert_array_free_elems(dvert, totvert); + + MEM_freeN(dvert); +} |