diff options
author | Campbell Barton <ideasman42@gmail.com> | 2010-09-25 10:36:01 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2010-09-25 10:36:01 +0400 |
commit | 92954672dc9d3fae95fcf07c39b5787253787469 (patch) | |
tree | 3f9cc2328698954668896b21ab626eb14bbeb9a0 /release/scripts/modules/bpy | |
parent | b57e09544a430a585e8665c7064252be1b59ec57 (diff) |
bugfix [#23978] Error installing addon
Diffstat (limited to 'release/scripts/modules/bpy')
-rw-r--r-- | release/scripts/modules/bpy/utils.py | 21 |
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 |