diff options
author | Campbell Barton <ideasman42@gmail.com> | 2018-02-12 09:24:18 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2018-02-12 09:24:18 +0300 |
commit | fc97e120f69f4cf3f46d9c949897430a8ecb3bec (patch) | |
tree | 3f2e716607ff7a5b9fd483eed346d332094d2034 /source/blender/makesrna | |
parent | a6968e87f1338081f30725f8f2ca3460e280fea2 (diff) |
BKE_addon: new/free/ensure functions
Diffstat (limited to 'source/blender/makesrna')
-rw-r--r-- | source/blender/makesrna/intern/rna_userdef.c | 23 |
1 files changed, 9 insertions, 14 deletions
diff --git a/source/blender/makesrna/intern/rna_userdef.c b/source/blender/makesrna/intern/rna_userdef.c index 489a841fb0b..0496de4dd6a 100644 --- a/source/blender/makesrna/intern/rna_userdef.c +++ b/source/blender/makesrna/intern/rna_userdef.c @@ -402,27 +402,22 @@ static void rna_userdef_autosave_update(Main *bmain, Scene *scene, PointerRNA *p static bAddon *rna_userdef_addon_new(void) { ListBase *addons_list = &U.addons; - bAddon *bext = MEM_callocN(sizeof(bAddon), "bAddon"); - BLI_addtail(addons_list, bext); - return bext; + bAddon *addon = BKE_addon_new(); + BLI_addtail(addons_list, addon); + return addon; } -static void rna_userdef_addon_remove(ReportList *reports, PointerRNA *bext_ptr) +static void rna_userdef_addon_remove(ReportList *reports, PointerRNA *addon_ptr) { ListBase *addons_list = &U.addons; - bAddon *bext = bext_ptr->data; - if (BLI_findindex(addons_list, bext) == -1) { + bAddon *addon = addon_ptr->data; + if (BLI_findindex(addons_list, addon) == -1) { BKE_report(reports, RPT_ERROR, "Add-on is no longer valid"); return; } - - if (bext->prop) { - IDP_FreeProperty(bext->prop); - MEM_freeN(bext->prop); - } - - BLI_freelinkN(addons_list, bext); - RNA_POINTER_INVALIDATE(bext_ptr); + BLI_remlink(addons_list, addon); + BKE_addon_free(addon); + RNA_POINTER_INVALIDATE(addon_ptr); } static bPathCompare *rna_userdef_pathcompare_new(void) |