mirror of
https://github.com/comfyanonymous/ComfyUI.git
synced 2025-01-25 15:55:18 +00:00
Add code to handle primitive nodes connected to reroute nodes.
Revert last commit because I noticed it broke a few things.
This commit is contained in:
parent
8e14c46a38
commit
4b0b516544
@ -200,8 +200,23 @@ app.registerExtension({
|
|||||||
applyToGraph() {
|
applyToGraph() {
|
||||||
if (!this.outputs[0].links?.length) return;
|
if (!this.outputs[0].links?.length) return;
|
||||||
|
|
||||||
|
function get_links(node) {
|
||||||
|
let links = [];
|
||||||
|
for (const l of node.outputs[0].links) {
|
||||||
|
const linkInfo = app.graph.links[l];
|
||||||
|
const n = node.graph.getNodeById(linkInfo.target_id);
|
||||||
|
if (n.type == "Reroute") {
|
||||||
|
links = links.concat(get_links(n));
|
||||||
|
} else {
|
||||||
|
links.push(l);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return links;
|
||||||
|
}
|
||||||
|
|
||||||
|
let links = get_links(this);
|
||||||
// For each output link copy our value over the original widget value
|
// For each output link copy our value over the original widget value
|
||||||
for (const l of this.outputs[0].links) {
|
for (const l of links) {
|
||||||
const linkInfo = app.graph.links[l];
|
const linkInfo = app.graph.links[l];
|
||||||
const node = this.graph.getNodeById(linkInfo.target_id);
|
const node = this.graph.getNodeById(linkInfo.target_id);
|
||||||
const input = node.inputs[linkInfo.target_slot];
|
const input = node.inputs[linkInfo.target_slot];
|
||||||
@ -240,7 +255,6 @@ app.registerExtension({
|
|||||||
|
|
||||||
// No widget, we cant connect
|
// No widget, we cant connect
|
||||||
if (!input.widget) {
|
if (!input.widget) {
|
||||||
if (this.outputs[0]?.type != '*' && target_node.type == "Reroute") return true;
|
|
||||||
if (!(input.type in ComfyWidgets)) return false;
|
if (!(input.type in ComfyWidgets)) return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user