mirror of
https://github.com/comfyanonymous/ComfyUI.git
synced 2026-02-15 07:52:35 +08:00
Fix crash on disconnected internal reroutes
This commit is contained in:
parent
7854ab7319
commit
de230392ff
@ -407,12 +407,18 @@ describe("group node", () => {
|
|||||||
const decode = ez.VAEDecode(group2.outputs.LATENT, group2.outputs.VAE);
|
const decode = ez.VAEDecode(group2.outputs.LATENT, group2.outputs.VAE);
|
||||||
const preview = ez.PreviewImage(decode.outputs[0]);
|
const preview = ez.PreviewImage(decode.outputs[0]);
|
||||||
|
|
||||||
expect((await graph.toPrompt()).output).toEqual({
|
const output = {
|
||||||
[latent.id]: { inputs: { width: 512, height: 512, batch_size: 1 }, class_type: "EmptyLatentImage" },
|
[latent.id]: { inputs: { width: 512, height: 512, batch_size: 1 }, class_type: "EmptyLatentImage" },
|
||||||
[vae.id]: { inputs: { vae_name: "vae1.safetensors" }, class_type: "VAELoader" },
|
[vae.id]: { inputs: { vae_name: "vae1.safetensors" }, class_type: "VAELoader" },
|
||||||
[decode.id]: { inputs: { samples: [latent.id + "", 0], vae: [vae.id + "", 0] }, class_type: "VAEDecode" },
|
[decode.id]: { inputs: { samples: [latent.id + "", 0], vae: [vae.id + "", 0] }, class_type: "VAEDecode" },
|
||||||
[preview.id]: { inputs: { images: [decode.id + "", 0] }, class_type: "PreviewImage" },
|
[preview.id]: { inputs: { images: [decode.id + "", 0] }, class_type: "PreviewImage" },
|
||||||
});
|
};
|
||||||
|
expect((await graph.toPrompt()).output).toEqual(output);
|
||||||
|
|
||||||
|
// Ensure missing connections dont cause errors
|
||||||
|
group2.inputs.VAE.disconnect();
|
||||||
|
delete output[decode.id].inputs.vae;
|
||||||
|
expect((await graph.toPrompt()).output).toEqual(output);
|
||||||
});
|
});
|
||||||
test("displays generated image on group node", async () => {
|
test("displays generated image on group node", async () => {
|
||||||
const { ez, graph, app } = await start();
|
const { ez, graph, app } = await start();
|
||||||
|
|||||||
@ -597,11 +597,15 @@ export class GroupNodeHandler {
|
|||||||
const output = this.groupData.newToOldOutputMap[link.origin_slot];
|
const output = this.groupData.newToOldOutputMap[link.origin_slot];
|
||||||
let innerNode = this.innerNodes[output.node.index];
|
let innerNode = this.innerNodes[output.node.index];
|
||||||
let l;
|
let l;
|
||||||
while (innerNode.type === "Reroute") {
|
while (innerNode?.type === "Reroute") {
|
||||||
l = innerNode.getInputLink(0);
|
l = innerNode.getInputLink(0);
|
||||||
innerNode = innerNode.getInputNode(0);
|
innerNode = innerNode.getInputNode(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!innerNode) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
if (l && GroupNodeHandler.isGroupNode(innerNode)) {
|
if (l && GroupNodeHandler.isGroupNode(innerNode)) {
|
||||||
return innerNode.updateLink(l);
|
return innerNode.updateLink(l);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1774,10 +1774,12 @@ export class ComfyApp {
|
|||||||
if (parent?.updateLink) {
|
if (parent?.updateLink) {
|
||||||
link = parent.updateLink(link);
|
link = parent.updateLink(link);
|
||||||
}
|
}
|
||||||
|
if (link) {
|
||||||
inputs[node.inputs[i].name] = [String(link.origin_id), parseInt(link.origin_slot)];
|
inputs[node.inputs[i].name] = [String(link.origin_id), parseInt(link.origin_slot)];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
output[String(node.id)] = {
|
output[String(node.id)] = {
|
||||||
inputs,
|
inputs,
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user