From d34876518114f1c03236349e2a4b5e356b6b9dc6 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Mon, 2 Aug 2010 14:25:23 +0000 Subject: [PATCH] use try/except when unloading modules too. --- release/scripts/modules/bpy_types.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/release/scripts/modules/bpy_types.py b/release/scripts/modules/bpy_types.py index 31acb3d7223..db89983744e 100644 --- a/release/scripts/modules/bpy_types.py +++ b/release/scripts/modules/bpy_types.py @@ -553,14 +553,24 @@ _register_immediate = True 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 @@ def _load_module(module, force=False): 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