diff options
author | Campbell Barton <ideasman42@gmail.com> | 2010-08-14 01:49:31 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2010-08-14 01:49:31 +0400 |
commit | 5e4ab9fa318a83b41e4a42811def88c187b0c1f8 (patch) | |
tree | 14198ec39af60efecfdacde29fc59004bf195d50 /source/blender/makesrna/intern/rna_define.c | |
parent | 801ba2e3458592c05adde7e68470e62117d7ee0f (diff) |
fix for referencing freed memory when freeing an rna property.
Diffstat (limited to 'source/blender/makesrna/intern/rna_define.c')
-rw-r--r-- | source/blender/makesrna/intern/rna_define.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/source/blender/makesrna/intern/rna_define.c b/source/blender/makesrna/intern/rna_define.c index d89d0ad5d29..6080d02a1c7 100644 --- a/source/blender/makesrna/intern/rna_define.c +++ b/source/blender/makesrna/intern/rna_define.c @@ -2728,14 +2728,16 @@ void RNA_def_property_free(StructOrFunctionRNA *cont_, PropertyRNA *prop) { ContainerRNA *cont= cont_; - RNA_def_property_free_pointers(prop); - if(prop->flag & PROP_RUNTIME) { if(cont->prophash) BLI_ghash_remove(cont->prophash, (void*)prop->identifier, NULL, NULL); + RNA_def_property_free_pointers(prop); rna_freelinkN(&cont->properties, prop); } + else { + RNA_def_property_free_pointers(prop); + } } /* note: only intended for removing dynamic props */ |