diff --git a/blender_cloud/__init__.py b/blender_cloud/__init__.py index 5dbae07..0fb7a53 100644 --- a/blender_cloud/__init__.py +++ b/blender_cloud/__init__.py @@ -81,8 +81,8 @@ def register(): async_loop.setup_asyncio_executor() async_loop.register() - blender.register() gui.register() + blender.register() settings_sync.register() @@ -106,7 +106,7 @@ def _monkey_patch_requests(): def unregister(): from . import blender, gui, async_loop, settings_sync - gui.unregister() - blender.unregister() - async_loop.unregister() settings_sync.unregister() + blender.unregister() + gui.unregister() + async_loop.unregister() diff --git a/blender_cloud/gui.py b/blender_cloud/gui.py index c75104d..8000a53 100644 --- a/blender_cloud/gui.py +++ b/blender_cloud/gui.py @@ -742,13 +742,10 @@ def register(): def unregister(): - bpy.utils.unregister_class(BlenderCloudBrowser) - # handle the keymap for km, kmi in addon_keymaps: km.keymap_items.remove(kmi) addon_keymaps.clear() - -if __name__ == "__main__": - register() + if 'bl_rna' in BlenderCloudBrowser.__dict__: # <-- check if we already removed! + bpy.utils.unregister_class(BlenderCloudBrowser)