diff --git a/leenkx/blender/lnx/nodes_logic.py b/leenkx/blender/lnx/nodes_logic.py index a5917029..de0c9c82 100644 --- a/leenkx/blender/lnx/nodes_logic.py +++ b/leenkx/blender/lnx/nodes_logic.py @@ -477,7 +477,6 @@ __REG_CLASSES = ( LnxOpenNodeWikiEntry, LNX_OT_ReplaceNodesOperator, LNX_OT_RecalculateRotations, - LNX_MT_NodeAddOverride, LNX_OT_AddNodeOverride, LNX_UL_InterfaceSockets, LNX_PT_LogicNodePanel, @@ -492,8 +491,9 @@ def register(): lnx.logicnode.lnx_node_group.register() lnx.logicnode.tree_variables.register() - LNX_MT_NodeAddOverride.overridden_menu = bpy.types.NODE_MT_add + # Store original draw method and restore during unregister LNX_MT_NodeAddOverride.overridden_draw = bpy.types.NODE_MT_add.draw + bpy.types.NODE_MT_add.draw = LNX_MT_NodeAddOverride.draw __reg_classes() @@ -508,8 +508,11 @@ def unregister(): # Ensure that globals are reset if the addon is enabled again in the same Blender session lnx_nodes.reset_globals() + # Restore original draw method + if hasattr(LNX_MT_NodeAddOverride, 'overridden_draw'): + bpy.types.NODE_MT_add.draw = LNX_MT_NodeAddOverride.overridden_draw + __unreg_classes() - bpy.utils.register_class(LNX_MT_NodeAddOverride.overridden_menu) lnx.logicnode.tree_variables.unregister() lnx.logicnode.lnx_node_group.unregister()