From 593815b23f1eedbeb959067f08d810f35f9e3633 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sat, 20 Nov 2010 04:18:06 +0000 Subject: [PATCH] reloading addons wasn't working. --- release/scripts/modules/bpy/utils.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/release/scripts/modules/bpy/utils.py b/release/scripts/modules/bpy/utils.py index 78c60eab4fc..1643b2036fd 100644 --- a/release/scripts/modules/bpy/utils.py +++ b/release/scripts/modules/bpy/utils.py @@ -199,7 +199,7 @@ def load_scripts(reload_scripts=False, refresh_scripts=False): _bpy_types._register_immediate = True # deal with addons seperately - addon_reset_all() + addon_reset_all(reload_scripts) # run the active integration preset @@ -472,7 +472,7 @@ def addon_disable(module_name, default_set=True): print("\tbpy.utils.addon_disable", module_name) -def addon_reset_all(): +def addon_reset_all(reload_scripts=False): """ Sets the addon state based on the user preferences. """ @@ -490,6 +490,13 @@ def addon_reset_all(): _sys_path_ensure(path) for mod_name, mod_path in _bpy.path.module_names(path): is_enabled, is_loaded = addon_check(mod_name) + + # first check if reload is needed before changing state. + if reload_scripts: + mod = _sys.modules.get(mod_name) + if mod: + reload(mod) + if is_enabled == is_loaded: pass elif is_enabled: @@ -498,6 +505,7 @@ def addon_reset_all(): print("\taddon_reset_all unloading", mod_name) addon_disable(mod_name) + def preset_find(name, preset_path, display_name=False): if not name: return None