PyAPI: check modules are registered before unregister

Needed since templates may unregister classes.

Also replace old modules on reloading.
This commit is contained in:
Campbell Barton
2017-03-29 12:35:00 +11:00
parent 93426cb295
commit 02b2094847
2 changed files with 6 additions and 6 deletions

View File

@@ -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)

View File

@@ -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