Fix T54966: mathutils.noise.voronoi Memory leak
C code was not correctly handling release of temp data, not technically a memory leak, but indeed rather annoying bug! ;)
This commit is contained in:
parent
9bd2e9104a
commit
a3b4c3823c
Notes:
blender-bot
2023-02-14 19:29:53 +01:00
Referenced by issue blender/blender-addons#54966, mathutils.noise.voronoi Memory leak
|
@ -731,6 +731,7 @@ static PyObject *M_Noise_voronoi(PyObject *UNUSED(self), PyObject *args)
|
|||
{
|
||||
PyObject *value;
|
||||
PyObject *list;
|
||||
PyObject *ret;
|
||||
float vec[3];
|
||||
float da[4], pa[12];
|
||||
int dtype = 0;
|
||||
|
@ -749,10 +750,14 @@ static PyObject *M_Noise_voronoi(PyObject *UNUSED(self), PyObject *args)
|
|||
voronoi(vec[0], vec[1], vec[2], da, pa, me, dtype);
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
PyList_SET_ITEM(list, i, Vector_CreatePyObject(pa + 3 * i, 3, NULL));
|
||||
PyObject *v = Vector_CreatePyObject(pa + 3 * i, 3, NULL);
|
||||
PyList_SET_ITEM(list, i, v);
|
||||
Py_DECREF(v);
|
||||
}
|
||||
|
||||
return Py_BuildValue("[[ffff]O]", da[0], da[1], da[2], da[3], list);
|
||||
ret = Py_BuildValue("[[ffff]O]", da[0], da[1], da[2], da[3], list);
|
||||
Py_DECREF(list);
|
||||
return ret;
|
||||
}
|
||||
|
||||
PyDoc_STRVAR(M_Noise_cell_doc,
|
||||
|
|
Loading…
Reference in New Issue