From abd4934d1aeceafaa2fc242f00db0ba53a7e24db Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 1 Jan 2009 16:18:54 +0000 Subject: [PATCH] fix for a memory leak in NMesh (deprecated api) while looking at bug report... [#18139] Memory Leaks while using Py_BuildValue --- source/blender/python/api2_2x/NMesh.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/source/blender/python/api2_2x/NMesh.c b/source/blender/python/api2_2x/NMesh.c index 2e82c55155f..22f619c5f31 100644 --- a/source/blender/python/api2_2x/NMesh.c +++ b/source/blender/python/api2_2x/NMesh.c @@ -1476,7 +1476,7 @@ static PyObject *NMesh_update( PyObject *self, PyObject *a, PyObject *kwd ) static PyObject *NMesh_getVertexInfluences( PyObject * self, PyObject * args ) { int index; - PyObject *influence_list = NULL; + PyObject *influence_list = NULL, *item; Object *object = ( ( BPy_NMesh * ) self )->object; Mesh *me = ( ( BPy_NMesh * ) self )->mesh; @@ -1516,9 +1516,11 @@ static PyObject *NMesh_getVertexInfluences( PyObject * self, PyObject * args ) for( i = 0; i < totinfluences; i++, sweight++ ) { bDeformGroup *defgroup = (bDeformGroup *) BLI_findlink( &object->defbase, sweight->def_nr ); - if( defgroup ) - PyList_Append( influence_list, Py_BuildValue( "[sf]", - defgroup->name, sweight->weight ) ); + if( defgroup ) { + item = Py_BuildValue( "[sf]", defgroup->name, sweight->weight ); + PyList_Append( influence_list, item); + Py_DECREF(item); + } } }