diff options
author | Campbell Barton <ideasman42@gmail.com> | 2015-01-23 13:09:31 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2015-01-23 13:18:35 +0300 |
commit | 3ff3f563e57e43abeacd5bb4df66d8b6bec0c847 (patch) | |
tree | 434c29c530d5e2beb1b3d305227e9de2f37ded51 /release | |
parent | 2dfe5e30ac43af0c65a7a89d8f6ebb79056eaab7 (diff) |
PyAPI: don't adjust prefs when an fails to load
Recent addons commit meant that addons would be enabled even if they weren't found.
This would give an error (which is fine), but also remove from preferences.
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) |