From 5d2f8137cb3f86432657789eaa80948ebce2cc28 Mon Sep 17 00:00:00 2001 From: lijenstina Date: Fri, 2 Dec 2016 15:16:41 +0100 Subject: Spacebar Menu: fix crash during (F8) reload Prevent multiple removal by using the class.__dict__ check --- space_view3d_spacebar_menu.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'space_view3d_spacebar_menu.py') diff --git a/space_view3d_spacebar_menu.py b/space_view3d_spacebar_menu.py index 98bf98f3..99577b3c 100644 --- a/space_view3d_spacebar_menu.py +++ b/space_view3d_spacebar_menu.py @@ -3006,9 +3006,6 @@ def register(): # Unegister Classes & Hotkeys # def unregister(): - for cls in classes: - bpy.utils.unregister_class(cls) - wm = bpy.context.window_manager kc = wm.keyconfigs.addon if kc: @@ -3018,6 +3015,10 @@ def unregister(): if kmi.properties.name == "VIEW3D_MT_Space_Dynamic_Menu": km.keymap_items.remove(kmi) break + for cls in classes: + # prevent multiple removal attempt + if "bl_rna" in cls.__dict__: + bpy.utils.unregister_class(cls) if __name__ == "__main__": register() -- cgit v1.2.3