[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [30984] trunk/blender/release/scripts/ modules/bpy_types.py: use try/except when unloading modules too.

Campbell Barton ideasman42 at gmail.com
Mon Aug 2 16:25:23 CEST 2010


Revision: 30984
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=30984
Author:   campbellbarton
Date:     2010-08-02 16:25:23 +0200 (Mon, 02 Aug 2010)

Log Message:
-----------
use try/except when unloading modules too.

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

Modified: trunk/blender/release/scripts/modules/bpy_types.py
===================================================================
--- trunk/blender/release/scripts/modules/bpy_types.py	2010-08-02 14:25:19 UTC (rev 30983)
+++ trunk/blender/release/scripts/modules/bpy_types.py	2010-08-02 14:25:23 UTC (rev 30984)
@@ -553,14 +553,24 @@
 
 def _unload_module(module, free=True):
     for t in TypeMap.get(module, ()):
-        bpy_types.unregister(t)
+        try:
+            bpy_types.unregister(t)
+        except:
+            import traceback
+            print("bpy.utils._unload_module(): Module '%s' failed to unregister class '%s.%s'" % (module, t.__module__, t.__name__))
+            traceback.print_exc()
 
     if free == True and module in TypeMap:
         del TypeMap[module]
 
 
     for t in PropertiesMap.get(module, ()):
-        bpy_types.unregister(t)
+        try:
+            bpy_types.unregister(t)
+        except:
+            import traceback
+            print("bpy.utils._unload_module(): Module '%s' failed to unregister class '%s.%s'" % (module, t.__module__, t.__name__))
+            traceback.print_exc()
 
     if free == True and module in PropertiesMap:
         del PropertiesMap[module]
@@ -571,7 +581,7 @@
             bpy_types.register(t)
         except:
             import traceback
-            print("bpy.utils._load_module(): Module '%s' failed to register calss '%s.%s'" % (module, t.__module__, t.__name__))
+            print("bpy.utils._load_module(): Module '%s' failed to register class '%s.%s'" % (module, t.__module__, t.__name__))
             traceback.print_exc()
 
 _bpy._load_module = _load_module





More information about the Bf-blender-cvs mailing list