Changeset View
Changeset View
Standalone View
Standalone View
source/blender/blenkernel/intern/mesh.c
| Show First 20 Lines • Show All 162 Lines • ▼ Show 20 Lines | static void mesh_free_data(ID *id) | ||||
| if (mesh->edit_mesh) { | if (mesh->edit_mesh) { | ||||
| if (mesh->edit_mesh->is_shallow_copy == false) { | if (mesh->edit_mesh->is_shallow_copy == false) { | ||||
| BKE_editmesh_free_data(mesh->edit_mesh); | BKE_editmesh_free_data(mesh->edit_mesh); | ||||
| } | } | ||||
| MEM_freeN(mesh->edit_mesh); | MEM_freeN(mesh->edit_mesh); | ||||
| mesh->edit_mesh = NULL; | mesh->edit_mesh = NULL; | ||||
| } | } | ||||
| BKE_mesh_runtime_clear_cache(mesh); | BKE_mesh_runtime_clear_cache(mesh); | ||||
| BKE_mesh_runtime_free_mutexes(mesh); | |||||
jbakker: Can be removed. Is also called from within `BKE_mesh_runtime_free_data` | |||||
| mesh_clear_geometry(mesh); | mesh_clear_geometry(mesh); | ||||
| MEM_SAFE_FREE(mesh->mat); | MEM_SAFE_FREE(mesh->mat); | ||||
| } | } | ||||
| static void mesh_foreach_id(ID *id, LibraryForeachIDData *data) | static void mesh_foreach_id(ID *id, LibraryForeachIDData *data) | ||||
| { | { | ||||
| Mesh *mesh = (Mesh *)id; | Mesh *mesh = (Mesh *)id; | ||||
| BKE_LIB_FOREACHID_PROCESS_IDSUPER(data, mesh->texcomesh, IDWALK_CB_NEVER_SELF); | BKE_LIB_FOREACHID_PROCESS_IDSUPER(data, mesh->texcomesh, IDWALK_CB_NEVER_SELF); | ||||
| ▲ Show 20 Lines • Show All 2,087 Lines • Show Last 20 Lines | |||||
Can be removed. Is also called from within BKE_mesh_runtime_free_data