Merge pull request 'main' (#6) from Onek8/LNXSDK:main into main

Reviewed-on: #6
This commit is contained in:
LeenkxTeam 2025-03-25 23:36:02 +00:00
commit 87fa82e3d3
3 changed files with 19 additions and 8 deletions

View File

@ -914,7 +914,10 @@ def restart_leenkx(context):
@persistent
def on_load_post(context):
restart_leenkx(bpy.context) # context is None, use bpy.context instead
if bpy.context is not None:
restart_leenkx(bpy.context) # context is None, use bpy.context instead
else:
bpy.app.timers.register(lambda: restart_leenkx(bpy.context), first_interval=0.1)
def on_register_post():

View File

@ -87,8 +87,8 @@ class LnxAnimActionSocket(LnxCustomSocket):
default_value_get: PointerProperty(name='Action', type=bpy.types.Action) # legacy version of the line after this one
default_value_raw: PointerProperty(name='Action', type=bpy.types.Action, update=_on_update_socket)
def __init__(self):
super().__init__()
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
if self.default_value_get is not None:
self.default_value_raw = self.default_value_get
self.default_value_get = None
@ -496,8 +496,8 @@ class LnxObjectSocket(LnxCustomSocket):
default_value_get: PointerProperty(name='Object', type=bpy.types.Object) # legacy version of the line after this one
default_value_raw: PointerProperty(name='Object', type=bpy.types.Object, update=_on_update_socket)
def __init__(self):
super().__init__()
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
if self.default_value_get is not None:
self.default_value_raw = self.default_value_get
self.default_value_get = None

View File

@ -234,10 +234,18 @@ def haxe_format_prop_value(node: bpy.types.Node, prop_name: str) -> str:
def nodetype_to_nodeitem(node_type: Type[bpy.types.Node]) -> NodeItem:
"""Create a NodeItem from a given node class."""
# Internal node types seem to have no bl_idname attribute
if issubclass(node_type, bpy.types.NodeInternal):
return NodeItem(node_type.__name__)
# if issubclass(node_type, bpy.types.NodeInternal):
# return NodeItem(node_type.__name__)
return NodeItem(node_type.bl_idname)
# return NodeItem(node_type.bl_idname)
node_id = node_type.__name__ if issubclass(node_type, bpy.types.NodeInternal) else node_type.bl_idname
node_label = getattr(node_type, "bl_label", node_type.__name__)
class ReturnNodeItem(NodeItem):
@property
def label(self):
"""Return the node label without using bl_rna_get_subclass to support Blender 4.4 +"""
return node_label
return ReturnNodeItem(node_id)
def copy_basic_node_props(from_node: bpy.types.Node, to_node: bpy.types.Node):