diff options
Diffstat (limited to 'source/blender/blenkernel/intern/editmesh.c')
-rw-r--r-- | source/blender/blenkernel/intern/editmesh.c | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/source/blender/blenkernel/intern/editmesh.c b/source/blender/blenkernel/intern/editmesh.c index 88cef0ec031..65faf59978a 100644 --- a/source/blender/blenkernel/intern/editmesh.c +++ b/source/blender/blenkernel/intern/editmesh.c @@ -187,21 +187,24 @@ void BKE_editmesh_update_linked_customdata(BMEditMesh *em) } } -/*does not free the BMEditMesh struct itself*/ -void BKE_editmesh_free(BMEditMesh *em) +void BKE_editmesh_free_derivedmesh(BMEditMesh *em) { - if (em->derivedFinal) { - if (em->derivedFinal != em->derivedCage) { - em->derivedFinal->needsFree = 1; - em->derivedFinal->release(em->derivedFinal); - } - em->derivedFinal = NULL; - } if (em->derivedCage) { em->derivedCage->needsFree = 1; em->derivedCage->release(em->derivedCage); - em->derivedCage = NULL; } + if (em->derivedFinal && em->derivedFinal != em->derivedCage) { + em->derivedFinal->needsFree = 1; + em->derivedFinal->release(em->derivedFinal); + } + + em->derivedCage = em->derivedFinal = NULL; +} + +/*does not free the BMEditMesh struct itself*/ +void BKE_editmesh_free(BMEditMesh *em) +{ + BKE_editmesh_free_derivedmesh(em); BKE_editmesh_color_free(em); |