From e2bd09d7e93fc14f799275e271d3eae962bd2efa Mon Sep 17 00:00:00 2001 From: Acly Date: Tue, 29 Oct 2024 13:03:53 +0100 Subject: [PATCH] Parameter node: Restrict initial type choice to avoid mismatch between type and default value before connecting the output --- js/external_tooling_nodes.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/js/external_tooling_nodes.js b/js/external_tooling_nodes.js index 7831171..e329d15 100644 --- a/js/external_tooling_nodes.js +++ b/js/external_tooling_nodes.js @@ -106,7 +106,9 @@ function changeWidgets(node, type, connectedNode, connectedWidget) { } const options = connectedWidget.options - if (!parameterTypes[type].includes(node.widgets[1].value)) { + const parameterTypeHint = node.widgets[1].value + const notSpecialized = node.widgets[1].options.values.includes("auto") + if (notSpecialized || !parameterTypes[type].includes(parameterTypeHint)) { node.widgets[1].value = defaultParameterType(type, connectedNode, connectedWidget) node.widgets[1].options = {values: parameterTypes[type]} } @@ -153,6 +155,8 @@ function adaptWidgetsToConnection(node) { } else if (!links || links.length === 0) { node.outputs[0].type = "*" + node.widgets[1].value = "auto" + node.widgets[1].options = {values: ["auto"]} } }