From db5120603f8f6236d1417199f257e35e0eb8c00b Mon Sep 17 00:00:00 2001 From: Jacques Lucke Date: Thu, 16 May 2019 14:11:11 +0200 Subject: Refactor: Simplify ID Property freeing This also makes `IDP_CopyProperty` the "opposite" of `IDP_FreeProperty`, which is what I'd expect. Two refactoring steps: * rename IDP_FreeProperty to IDP_FreePropertyContent * new IDP_FreeProperty function that actually frees the property Reviewers: brecht Differential Revision: https://developer.blender.org/D4872 --- source/blender/python/generic/idprop_py_api.c | 3 +-- source/blender/python/intern/bpy_rna.c | 1 - 2 files changed, 1 insertion(+), 3 deletions(-) (limited to 'source/blender/python') diff --git a/source/blender/python/generic/idprop_py_api.c b/source/blender/python/generic/idprop_py_api.c index dd5baaa661c..30cad991b55 100644 --- a/source/blender/python/generic/idprop_py_api.c +++ b/source/blender/python/generic/idprop_py_api.c @@ -601,7 +601,6 @@ static IDProperty *idp_from_PyMapping(const char *name, PyObject *ob) pval = PySequence_GetItem(vals, i); if (BPy_IDProperty_Map_ValidateAndCreate(key, prop, pval) == false) { IDP_FreeProperty(prop); - MEM_freeN(prop); Py_XDECREF(keys); Py_XDECREF(vals); Py_XDECREF(key); @@ -690,7 +689,7 @@ bool BPy_IDProperty_Map_ValidateAndCreate(PyObject *name_obj, IDProperty *group, prop->prev = prop_exist->prev; prop->next = prop_exist->next; - IDP_FreeProperty(prop_exist); + IDP_FreePropertyContent(prop_exist); *prop_exist = *prop; MEM_freeN(prop); } diff --git a/source/blender/python/intern/bpy_rna.c b/source/blender/python/intern/bpy_rna.c index a87deeabc65..819dc3ac495 100644 --- a/source/blender/python/intern/bpy_rna.c +++ b/source/blender/python/intern/bpy_rna.c @@ -1122,7 +1122,6 @@ static void pyrna_struct_dealloc(BPy_StructRNA *self) #ifdef PYRNA_FREE_SUPPORT if (self->freeptr && self->ptr.data) { IDP_FreeProperty(self->ptr.data); - MEM_freeN(self->ptr.data); self->ptr.data = NULL; } #endif /* PYRNA_FREE_SUPPORT */ -- cgit v1.2.3