Code cleanup: move edit-derivedmesh free to BKE_editmesh_free_derivedmesh
This commit is contained in:
parent
d2a5ea04ed
commit
ea269c21ea
|
@ -87,6 +87,7 @@ void BKE_editmesh_tessface_calc(BMEditMesh *em);
|
|||
BMEditMesh *BKE_editmesh_create(BMesh *bm, const bool do_tessellate);
|
||||
BMEditMesh *BKE_editmesh_copy(BMEditMesh *em);
|
||||
BMEditMesh *BKE_editmesh_from_object(struct Object *ob);
|
||||
void BKE_editmesh_free_derivedmesh(BMEditMesh *em);
|
||||
void BKE_editmesh_free(BMEditMesh *em);
|
||||
void BKE_editmesh_update_linked_customdata(BMEditMesh *em);
|
||||
|
||||
|
|
|
@ -2256,18 +2256,7 @@ static void editbmesh_build_data(Scene *scene, Object *obedit, BMEditMesh *em, C
|
|||
BKE_object_free_derived_caches(obedit);
|
||||
BKE_object_sculpt_modifiers_changed(obedit);
|
||||
|
||||
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;
|
||||
}
|
||||
BKE_editmesh_free_derivedmesh(em);
|
||||
|
||||
editbmesh_calc_modifiers(scene, obedit, em, &em->derivedCage, &em->derivedFinal, dataMask);
|
||||
DM_set_object_boundbox(obedit, em->derivedFinal);
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -132,16 +132,7 @@ void EDBM_mesh_clear(BMEditMesh *em)
|
|||
BM_mesh_clear(em->bm);
|
||||
|
||||
/* free derived meshes */
|
||||
if (em->derivedCage) {
|
||||
em->derivedCage->needsFree = 1;
|
||||
em->derivedCage->release(em->derivedCage);
|
||||
}
|
||||
if (em->derivedFinal && em->derivedFinal != em->derivedCage) {
|
||||
em->derivedFinal->needsFree = 1;
|
||||
em->derivedFinal->release(em->derivedFinal);
|
||||
}
|
||||
|
||||
em->derivedCage = em->derivedFinal = NULL;
|
||||
BKE_editmesh_free_derivedmesh(em);
|
||||
|
||||
/* free tessellation data */
|
||||
em->tottri = 0;
|
||||
|
|
Loading…
Reference in New Issue