Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2015-01-23 13:09:31 +0300
committerCampbell Barton <ideasman42@gmail.com>2015-01-23 13:18:35 +0300
commit3ff3f563e57e43abeacd5bb4df66d8b6bec0c847 (patch)
tree434c29c530d5e2beb1b3d305227e9de2f37ded51 /release/scripts/modules
parent2dfe5e30ac43af0c65a7a89d8f6ebb79056eaab7 (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/scripts/modules')
-rw-r--r--release/scripts/modules/addon_utils.py8
1 files changed, 5 insertions, 3 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! *