Cleanup: rename BKE_mesh_free_data -> BKE_mesh_free_data_for_undo

This function only makes sense for undo which doesn't
initialize the meshes ID. Otherwise BKE_id_free should be used.
This commit is contained in:
Campbell Barton 2021-08-20 16:21:29 +10:00
parent 40f0783d51
commit e05db0c26b
3 changed files with 8 additions and 5 deletions

View File

@ -95,7 +95,7 @@ void BKE_mesh_looptri_get_real_edges(const struct Mesh *mesh,
const struct MLoopTri *looptri,
int r_edges[3]);
void BKE_mesh_free_data(struct Mesh *me);
void BKE_mesh_free_data_for_undo(struct Mesh *me);
void BKE_mesh_clear_geometry(struct Mesh *me);
struct Mesh *BKE_mesh_add(struct Main *bmain, const char *name);
void BKE_mesh_copy_parameters_for_eval(struct Mesh *me_dst, const struct Mesh *me_src);

View File

@ -861,8 +861,11 @@ bool BKE_mesh_has_custom_loop_normals(Mesh *me)
return CustomData_has_layer(&me->ldata, CD_CUSTOMLOOPNORMAL);
}
/** Free (or release) any data used by this mesh (does not free the mesh itself). */
void BKE_mesh_free_data(Mesh *me)
/**
* Free (or release) any data used by this mesh (does not free the mesh itself).
* Only use for undo, in most cases `BKE_id_free(NULL, me)` should be used.
*/
void BKE_mesh_free_data_for_undo(Mesh *me)
{
mesh_free_data(&me->id);
}
@ -1078,7 +1081,7 @@ void BKE_mesh_eval_delete(struct Mesh *mesh_eval)
{
/* Evaluated mesh may point to edit mesh, but never owns it. */
mesh_eval->edit_mesh = NULL;
BKE_mesh_free_data(mesh_eval);
mesh_free_data(&mesh_eval->id);
BKE_libblock_free_data(&mesh_eval->id, false);
MEM_freeN(mesh_eval);
}

View File

@ -759,7 +759,7 @@ static void undomesh_free_data(UndoMesh *um)
MEM_freeN(me->key);
}
BKE_mesh_free_data(me);
BKE_mesh_free_data_for_undo(me);
}
static Object *editmesh_object_from_context(bContext *C)