diff options
author | Bastien Montagne <montagne29@wanadoo.fr> | 2019-04-18 18:13:44 +0300 |
---|---|---|
committer | Bastien Montagne <montagne29@wanadoo.fr> | 2019-04-18 18:13:44 +0300 |
commit | e47cb9ed5b5cc1a29efbd14de77177e08ba968aa (patch) | |
tree | 3f835812b87e45f1e812db9037aa89fa0da81d38 /render_povray | |
parent | c56b463d06e6bd989019f2674775ec2cb511b823 (diff) |
Fix lots of various issues failing automated test load/unload/reload.
Diffstat (limited to 'render_povray')
-rw-r--r-- | render_povray/__init__.py | 41 | ||||
-rw-r--r-- | render_povray/render.py | 2 | ||||
-rw-r--r-- | render_povray/ui.py | 11 |
3 files changed, 35 insertions, 19 deletions
diff --git a/render_povray/__init__.py b/render_povray/__init__.py index ebbeebe6..fdec7d37 100644 --- a/render_povray/__init__.py +++ b/render_povray/__init__.py @@ -40,7 +40,7 @@ if "bpy" in locals(): else: import bpy - from bpy.utils import register_class + from bpy.utils import register_class, unregister_class #import addon_utils # To use some other addons import nodeitems_utils #for Nodes from nodeitems_utils import NodeCategory, NodeItem #for Nodes @@ -3633,26 +3633,32 @@ class PovrayPreferences(AddonPreferences): layout.prop(self, "docpath_povray") +classes = ( + PovrayPreferences, + RenderPovSettingsCamera, + RenderPovSettingsWorld, + RenderPovSettingsMaterial, + MaterialRaytraceMirror, + MaterialSubsurfaceScattering, + RenderPovSettingsObject, + RenderPovSettingsScene, + RenderPovSettingsText, + RenderPovSettingsTexture, +) + def register(): #bpy.utils.register_module(__name__) #DEPRECATED Now imported from bpy.utils import register_class - + + for cls in classes: + register_class(cls) + render.register() ui.register() primitives.register() nodes.register() - - register_class(PovrayPreferences) - register_class(RenderPovSettingsCamera) - register_class(RenderPovSettingsWorld) - register_class(RenderPovSettingsMaterial) - register_class(MaterialRaytraceMirror) - register_class(MaterialSubsurfaceScattering) - register_class(RenderPovSettingsObject) - register_class(RenderPovSettingsScene) - register_class(RenderPovSettingsText) - register_class(RenderPovSettingsTexture) + ''' bpy.types.VIEW3D_MT_add.prepend(ui.menu_func_add) bpy.types.TOPBAR_MT_file_import.append(ui.menu_func_import) @@ -3704,6 +3710,15 @@ def unregister(): ''' #bpy.utils.unregister_module(__name__) + nodes.unregister() + primitives.unregister() + ui.unregister() + render.unregister() + + for cls in reversed(classes): + unregister_class(cls) + + if __name__ == "__main__": register() diff --git a/render_povray/render.py b/render_povray/render.py index 7e605f19..31beb174 100644 --- a/render_povray/render.py +++ b/render_povray/render.py @@ -4423,5 +4423,5 @@ def register(): def unregister(): from bpy.utils import unregister_class - for cls in classes: + for cls in reversed(classes): unregister_class(cls) diff --git a/render_povray/ui.py b/render_povray/ui.py index fa677524..f9064e67 100644 --- a/render_povray/ui.py +++ b/render_povray/ui.py @@ -23,7 +23,7 @@ import sys #really import here and in render.py? import os #really import here and in render.py? from os.path import isfile from bl_operators.presets import AddPresetBase -from bpy.utils import register_class +from bpy.utils import register_class, unregister_class # Example of wrapping every class 'as is' from bl_ui import properties_output @@ -2412,9 +2412,6 @@ def register(): def unregister(): #from bpy.utils import unregister_class - for cls in classes: - unregister_class(cls) - #bpy.types.TEXTURE_PT_context_texture.remove(TEXTURE_PT_povray_type) #addon_utils.disable("add_mesh_extra_objects", default_set=False) #bpy.types.WORLD_PT_POV_world.remove(world_panel_func) @@ -2422,4 +2419,8 @@ def unregister(): bpy.types.RENDER_PT_povray_radiosity.remove(rad_panel_func) bpy.types.TEXT_MT_templates.remove(menu_func_templates) bpy.types.TOPBAR_MT_file_import.remove(menu_func_import) - bpy.types.VIEW3D_MT_add.remove(menu_func_add)
\ No newline at end of file + bpy.types.VIEW3D_MT_add.remove(menu_func_add) + + for cls in reversed(classes): + unregister_class(cls) + |