[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [33188] trunk/blender/release/scripts/ modules/bpy/utils.py: reloading addons wasn't working.

Campbell Barton ideasman42 at gmail.com
Sat Nov 20 05:18:08 CET 2010


Revision: 33188
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=33188
Author:   campbellbarton
Date:     2010-11-20 05:18:06 +0100 (Sat, 20 Nov 2010)

Log Message:
-----------
reloading addons wasn't working.

Modified Paths:
--------------
    trunk/blender/release/scripts/modules/bpy/utils.py

Modified: trunk/blender/release/scripts/modules/bpy/utils.py
===================================================================
--- trunk/blender/release/scripts/modules/bpy/utils.py	2010-11-20 02:56:58 UTC (rev 33187)
+++ trunk/blender/release/scripts/modules/bpy/utils.py	2010-11-20 04:18:06 UTC (rev 33188)
@@ -199,7 +199,7 @@
     _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 @@
     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 @@
         _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 @@
                 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





More information about the Bf-blender-cvs mailing list