Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2010-02-15 15:43:25 +0300
committerCampbell Barton <ideasman42@gmail.com>2010-02-15 15:43:25 +0300
commit37858fd4354a9f30c238cb318fef65ef7802d9c2 (patch)
tree2ae307c51976332f0d1b469e75a1782fe84d78ba /release
parent1c24096de804d2d0a5741febcf902a69b2fa7d90 (diff)
make it so an error registering/unregestering wont stop loading scripts, just print the error and continue
Diffstat (limited to 'release')
-rw-r--r--release/scripts/modules/bpy/utils.py14
1 files changed, 10 insertions, 4 deletions
diff --git a/release/scripts/modules/bpy/utils.py b/release/scripts/modules/bpy/utils.py
index c8288df2e5d..c3c88717d09 100644
--- a/release/scripts/modules/bpy/utils.py
+++ b/release/scripts/modules/bpy/utils.py
@@ -117,7 +117,10 @@ def load_scripts(reload_scripts=False, refresh_scripts=False):
if mod:
register = getattr(mod, "register", None)
if register:
- register()
+ try:
+ register()
+ except:
+ traceback.print_exc()
else:
print("\nWarning! '%s' has no register function, this is now a requirement for registerable scripts." % mod.__file__)
_loaded.append(mod)
@@ -138,9 +141,12 @@ def load_scripts(reload_scripts=False, refresh_scripts=False):
# loop over and unload all scripts
_loaded.reverse()
for mod in _loaded:
- func = getattr(mod, "unregister", None)
- if func:
- func()
+ unregister = getattr(mod, "unregister", None)
+ if unregister:
+ try:
+ unregister()
+ except:
+ traceback.print_exc()
_loaded[:] = []