diff options
author | Campbell Barton <ideasman42@gmail.com> | 2018-07-06 08:55:29 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2018-07-06 08:55:29 +0300 |
commit | d56b90705e81768ca1a586b622ef4bbe3b216d5c (patch) | |
tree | 7cb78fbfb6d40a53d316a3bfb4cf55122ae62cbd /source/blender/blenkernel/intern/addon.c | |
parent | 52655f51619d0ab06bbde6966c31d15f6ab4ab19 (diff) |
BKE_addons: utility to remove by name
Diffstat (limited to 'source/blender/blenkernel/intern/addon.c')
-rw-r--r-- | source/blender/blenkernel/intern/addon.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/addon.c b/source/blender/blenkernel/intern/addon.c index a9bb193a7a1..854bf62c061 100644 --- a/source/blender/blenkernel/intern/addon.c +++ b/source/blender/blenkernel/intern/addon.c @@ -69,6 +69,17 @@ bAddon *BKE_addon_ensure(ListBase *addon_list, const char *module) return addon; } +bool BKE_addon_remove_safe(ListBase *addon_list, const char *module) +{ + bAddon *addon = BLI_findstring(addon_list, module, offsetof(bAddon, module)); + if (addon) { + BLI_remlink(addon_list, addon); + BKE_addon_free(addon); + return true; + } + return false; +} + void BKE_addon_free(bAddon *addon) { if (addon->prop) { |