diff options
Diffstat (limited to 'release')
-rw-r--r-- | release/scripts/modules/addon_utils.py | 8 | ||||
-rw-r--r-- | release/scripts/startup/bl_operators/wm.py | 2 |
2 files changed, 6 insertions, 4 deletions
diff --git a/release/scripts/modules/addon_utils.py b/release/scripts/modules/addon_utils.py index 9ec6d249129..d955985d68f 100644 --- a/release/scripts/modules/addon_utils.py +++ b/release/scripts/modules/addon_utils.py @@ -251,7 +251,7 @@ def _addon_remove(module_name): addons.remove(addon) -def enable(module_name, default_set=True, persistent=False, handle_error=None): +def enable(module_name, default_set=False, persistent=False, handle_error=None): """ Enables an addon by name. @@ -308,7 +308,8 @@ def enable(module_name, default_set=True, persistent=False, handle_error=None): mod.__addon_enabled__ = False except: handle_error() - _addon_remove(module_name) + if default_set: + _addon_remove(module_name) return None # 2) try register collected modules @@ -322,7 +323,8 @@ def enable(module_name, default_set=True, persistent=False, handle_error=None): getattr(mod, "__file__", module_name)) handle_error() del sys.modules[module_name] - _addon_remove(module_name) + if default_set: + _addon_remove(module_name) return None # * OK loaded successfully! * diff --git a/release/scripts/startup/bl_operators/wm.py b/release/scripts/startup/bl_operators/wm.py index 8d04cb132e6..e7f48eccbf1 100644 --- a/release/scripts/startup/bl_operators/wm.py +++ b/release/scripts/startup/bl_operators/wm.py @@ -1737,7 +1737,7 @@ class WM_OT_addon_enable(Operator): err_str = traceback.format_exc() print(err_str) - mod = addon_utils.enable(self.module, handle_error=err_cb) + mod = addon_utils.enable(self.module, default_set=True, handle_error=err_cb) if mod: info = addon_utils.module_bl_info(mod) |