From 8fe0f2141c12b885fee06fd636541f0df0b8d5eb Mon Sep 17 00:00:00 2001 From: Austin Mroz Date: Wed, 15 Oct 2025 13:48:13 -0700 Subject: [PATCH] Restrict usage of createCopyForNode --- src/lib/litegraph/src/subgraph/SubgraphNode.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/lib/litegraph/src/subgraph/SubgraphNode.ts b/src/lib/litegraph/src/subgraph/SubgraphNode.ts index 216448f991..ddb7594319 100644 --- a/src/lib/litegraph/src/subgraph/SubgraphNode.ts +++ b/src/lib/litegraph/src/subgraph/SubgraphNode.ts @@ -26,7 +26,7 @@ import type { } from '@/lib/litegraph/src/types/serialisation' import type { IBaseWidget } from '@/lib/litegraph/src/types/widgets' import type { UUID } from '@/lib/litegraph/src/utils/uuid' -import { toConcreteWidget } from '@/lib/litegraph/src/widgets/widgetMap' +import { BaseWidget } from '@/lib/litegraph/src/widgets/BaseWidget' import { ExecutableNodeDTO } from './ExecutableNodeDTO' import type { ExecutableLGraphNode, ExecutionId } from './ExecutableNodeDTO' @@ -317,9 +317,10 @@ export class SubgraphNode extends LGraphNode implements BaseLGraph { inputWidget: IWidgetLocator | undefined ) { // Use the first matching widget - const promotedWidget = toConcreteWidget(widget, this).createCopyForNode( - this - ) + const promotedWidget = + widget instanceof BaseWidget + ? widget.createCopyForNode(this) + : { ...widget, node: this } Object.assign(promotedWidget, { get name() {