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>2017-03-29 04:35:00 +0300
committerCampbell Barton <ideasman42@gmail.com>2017-03-29 04:38:02 +0300
commit02b20948479a4ffcc94fc26479ea873b6c50ec36 (patch)
tree5f44db2ac6cb4560cd5bfaa5a894607e9863013a
parent93426cb295c53f1af01451c6f6fad29afe05bb5e (diff)
PyAPI: check modules are registered before unregister
Needed since templates may unregister classes. Also replace old modules on reloading.
-rw-r--r--release/scripts/startup/bl_operators/__init__.py6
-rw-r--r--release/scripts/startup/bl_ui/__init__.py6
2 files changed, 6 insertions, 6 deletions
diff --git a/release/scripts/startup/bl_operators/__init__.py b/release/scripts/startup/bl_operators/__init__.py
index c28c1461003..1e0dbe6925e 100644
--- a/release/scripts/startup/bl_operators/__init__.py
+++ b/release/scripts/startup/bl_operators/__init__.py
@@ -21,8 +21,7 @@
# support reloading sub-modules
if "bpy" in locals():
from importlib import reload
- for val in _modules_loaded:
- reload(val)
+ _modules_loaded[:] = [reload(val) for val in _modules_loaded]
del reload
_modules = [
@@ -73,4 +72,5 @@ def unregister():
from bpy.utils import unregister_class
for mod in reversed(_modules_loaded):
for cls in reversed(mod.classes):
- unregister_class(cls)
+ if cls.is_registered:
+ unregister_class(cls)
diff --git a/release/scripts/startup/bl_ui/__init__.py b/release/scripts/startup/bl_ui/__init__.py
index 3e81724c1f9..5b609605cee 100644
--- a/release/scripts/startup/bl_ui/__init__.py
+++ b/release/scripts/startup/bl_ui/__init__.py
@@ -23,8 +23,7 @@
# support reloading sub-modules
if "bpy" in locals():
from importlib import reload
- for val in _modules_loaded:
- reload(val)
+ _modules_loaded[:] = [reload(val) for val in _modules_loaded]
del reload
_modules = [
@@ -149,7 +148,8 @@ def unregister():
from bpy.utils import unregister_class
for mod in reversed(_modules_loaded):
for cls in reversed(mod.classes):
- unregister_class(cls)
+ if cls.is_registered:
+ unregister_class(cls)
# Define a default UIList, when a list does not need any custom drawing...
# Keep in sync with its #defined name in UI_interface.h