- fix memory leak in mesh_strip_loose_polysloops(), occurred during 3ds import.

- updating normals in py/api's mesh.transform() wasn't working and gave annoying print, disable this, script authors can call calc_normals explicitly if they need.
This commit is contained in:
Campbell Barton
2012-04-22 00:27:38 +00:00
parent 126f766b4c
commit e57d258169
2 changed files with 4 additions and 2 deletions

View File

@@ -1058,7 +1058,7 @@ void mesh_strip_loose_polysloops(Mesh *me)
MLoop *l;
int a, b;
/* New loops idx! */
int *new_idx = MEM_mallocN(sizeof(int) * me->totloop, "strip_loose_polysloops old2new idx mapping for polys.");
int *new_idx = MEM_mallocN(sizeof(int) * me->totloop, __func__);
for (a = b = 0, p = me->mpoly; a < me->totpoly; a++, p++) {
int invalid = FALSE;
@@ -1119,6 +1119,8 @@ void mesh_strip_loose_polysloops(Mesh *me)
for (a = 0, p = me->mpoly; a < me->totpoly; a++, p++) {
p->loopstart = new_idx[p->loopstart];
}
MEM_freeN(new_idx);
}
void mesh_strip_loose_edges(Mesh *me)

View File

@@ -896,7 +896,7 @@ void ED_mesh_transform(Mesh *me, float *mat)
for (i = 0; i < me->totvert; i++, mvert++)
mul_m4_v3((float (*)[4])mat, mvert->co);
mesh_calc_normals_mapping(me->mvert, me->totvert, me->mloop, me->mpoly, me->totloop, me->totpoly, NULL, NULL, 0, NULL, NULL);
/* don't update normals, caller can do this explicitly */
}
static void mesh_add_edges(Mesh *mesh, int len)