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:
-rw-r--r--release/scripts/modules/addon_utils.py8
-rw-r--r--release/scripts/startup/bl_operators/wm.py2
-rw-r--r--tests/python/bl_load_addons.py4
-rw-r--r--tests/python/bl_load_py_modules.py2
4 files changed, 9 insertions, 7 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)
diff --git a/tests/python/bl_load_addons.py b/tests/python/bl_load_addons.py
index 716d08b16d6..227edf4164d 100644
--- a/tests/python/bl_load_addons.py
+++ b/tests/python/bl_load_addons.py
@@ -63,7 +63,7 @@ def test_load_addons():
for mod in modules:
mod_name = mod.__name__
print("\tenabling:", mod_name)
- addon_utils.enable(mod_name)
+ addon_utils.enable(mod_name, default_set=True)
if mod_name not in addons:
addons_fail.append(mod_name)
@@ -87,7 +87,7 @@ def reload_addons(do_reload=True, do_reverse=True):
for mod in modules:
mod_name = mod.__name__
print("\tenabling:", mod_name)
- addon_utils.enable(mod_name)
+ addon_utils.enable(mod_name, default_set=True)
assert(mod_name in addons)
for mod in modules:
diff --git a/tests/python/bl_load_py_modules.py b/tests/python/bl_load_py_modules.py
index c0ec4ce5144..07905dfa4b4 100644
--- a/tests/python/bl_load_py_modules.py
+++ b/tests/python/bl_load_py_modules.py
@@ -74,7 +74,7 @@ def load_addons():
for mod in modules:
mod_name = mod.__name__
- addon_utils.enable(mod_name)
+ addon_utils.enable(mod_name, default_set=True)
assert(mod_name in addons)