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>2010-09-25 10:36:01 +0400
committerCampbell Barton <ideasman42@gmail.com>2010-09-25 10:36:01 +0400
commit92954672dc9d3fae95fcf07c39b5787253787469 (patch)
tree3f9cc2328698954668896b21ab626eb14bbeb9a0 /release/scripts/modules/bpy
parentb57e09544a430a585e8665c7064252be1b59ec57 (diff)
bugfix [#23978] Error installing addon
Diffstat (limited to 'release/scripts/modules/bpy')
-rw-r--r--release/scripts/modules/bpy/utils.py21
1 files changed, 11 insertions, 10 deletions
diff --git a/release/scripts/modules/bpy/utils.py b/release/scripts/modules/bpy/utils.py
index 5d5f736a33b..1792425268b 100644
--- a/release/scripts/modules/bpy/utils.py
+++ b/release/scripts/modules/bpy/utils.py
@@ -441,17 +441,18 @@ def addon_disable(module_name, default_set=True):
mod = _sys.modules.get(module_name)
- if mod is None:
- print("addon_disable", module_name, "not loaded, nothing to do")
- return
-
- mod.__addon_enabled__ = False
+ # possible this addon is from a previous session and didnt load a module this time.
+ # so even if the module is not found, still disable the addon in the user prefs.
+ if mod:
+ mod.__addon_enabled__ = False
- try:
- _bpy_types._unregister_module(module_name, free=False) # dont free because we may want to enable again.
- mod.unregister()
- except:
- traceback.print_exc()
+ try:
+ _bpy_types._unregister_module(module_name, free=False) # dont free because we may want to enable again.
+ mod.unregister()
+ except:
+ traceback.print_exc()
+ else:
+ print("addon_disable", module_name, "not loaded")
# could be in more then once, unlikely but better do this just incase.
addons = _bpy.context.user_preferences.addons