[backport core/1.39] fix: resolve ImageCrop input image through subgraph nodes (#8946)

Backport of #8899 to `core/1.39`

Automatically created by backport workflow.

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8946-backport-core-1-39-fix-resolve-ImageCrop-input-image-through-subgraph-nodes-30b6d73d36508154a57cd063bb68a174)
by [Unito](https://www.unito.io)

Co-authored-by: Terry Jia <terryjia88@gmail.com>
This commit is contained in:
Comfy Org PR Bot
2026-02-18 19:24:01 +09:00
committed by GitHub
parent 241b98b46c
commit a0b1fcd232

View File

@@ -155,11 +155,18 @@ export function useImageCrop(nodeId: NodeId, options: UseImageCropOptions) {
const getInputImageUrl = (): string | null => {
if (!node.value) return null
const inputNode = node.value.getInputNode(0)
let sourceNode = node.value.getInputNode(0)
if (!sourceNode) return null
if (!inputNode) return null
if (sourceNode.isSubgraphNode()) {
const link = node.value.getInputLink(0)
if (!link) return null
const resolved = sourceNode.resolveSubgraphOutputLink(link.origin_slot)
sourceNode = resolved?.outputNode ?? null
if (!sourceNode) return null
}
const urls = nodeOutputStore.getNodeImageUrls(inputNode)
const urls = nodeOutputStore.getNodeImageUrls(sourceNode)
if (urls?.length) {
return urls[0]
@@ -562,7 +569,10 @@ export function useImageCrop(nodeId: NodeId, options: UseImageCropOptions) {
const initialize = () => {
if (nodeId != null) {
node.value = app.rootGraph?.getNodeById(nodeId) || null
node.value =
app.canvas?.graph?.getNodeById(nodeId) ||
app.rootGraph?.getNodeById(nodeId) ||
null
}
updateImageUrl()