Fix potential memory leak baking
This commit is contained in:
Submodule release/datafiles/locale updated: c651e63a9a...4e1460519f
Submodule release/scripts/addons updated: 0eef469a5d...cd26c938e5
Submodule release/scripts/addons_contrib updated: cf842d8bb7...34dc9b5a6a
@@ -591,6 +591,18 @@ void RE_bake_pixels_populate(
|
||||
if (me->edit_btmesh)
|
||||
return;
|
||||
|
||||
if ((uv_layer == NULL) || (uv_layer[0] == '\0')) {
|
||||
mloopuv = CustomData_get_layer(&me->ldata, CD_MLOOPUV);
|
||||
}
|
||||
else {
|
||||
int uv_id = CustomData_get_named_layer(&me->ldata, CD_MLOOPUV, uv_layer);
|
||||
mloopuv = CustomData_get_layer_n(&me->ldata, CD_MTFACE, uv_id);
|
||||
}
|
||||
|
||||
if (mloopuv == NULL)
|
||||
return;
|
||||
|
||||
|
||||
bd.pixel_array = pixel_array;
|
||||
bd.zspan = MEM_callocN(sizeof(ZSpan) * bake_images->size, "bake zspan");
|
||||
|
||||
@@ -603,17 +615,6 @@ void RE_bake_pixels_populate(
|
||||
zbuf_alloc_span(&bd.zspan[i], bake_images->data[i].width, bake_images->data[i].height, R.clipcrop);
|
||||
}
|
||||
|
||||
if ((uv_layer == NULL) || (uv_layer[0] == '\0')) {
|
||||
mloopuv = CustomData_get_layer(&me->ldata, CD_MLOOPUV);
|
||||
}
|
||||
else {
|
||||
int uv_id = CustomData_get_named_layer(&me->ldata, CD_MLOOPUV, uv_layer);
|
||||
mloopuv = CustomData_get_layer_n(&me->ldata, CD_MTFACE, uv_id);
|
||||
}
|
||||
|
||||
if (mloopuv == NULL)
|
||||
return;
|
||||
|
||||
looptri = MEM_mallocN(sizeof(*looptri) * tottri, __func__);
|
||||
|
||||
BKE_mesh_recalc_looptri(
|
||||
|
Reference in New Issue
Block a user