diff --git a/browser_tests/tests/mobileBaseline.spec.ts-snapshots/mobile-settings-dialog-mobile-chrome-linux.png b/browser_tests/tests/mobileBaseline.spec.ts-snapshots/mobile-settings-dialog-mobile-chrome-linux.png index 4cdf53e1c96..cd3d56d85f7 100644 Binary files a/browser_tests/tests/mobileBaseline.spec.ts-snapshots/mobile-settings-dialog-mobile-chrome-linux.png and b/browser_tests/tests/mobileBaseline.spec.ts-snapshots/mobile-settings-dialog-mobile-chrome-linux.png differ diff --git a/src/renderer/extensions/vueNodes/components/ImagePreview.vue b/src/renderer/extensions/vueNodes/components/ImagePreview.vue index 538a5a5d34f..664f63114c2 100644 --- a/src/renderer/extensions/vueNodes/components/ImagePreview.vue +++ b/src/renderer/extensions/vueNodes/components/ImagePreview.vue @@ -198,6 +198,8 @@ const handleImageLoad = (event: Event) => { if (img.naturalWidth && img.naturalHeight) { actualDimensions.value = `${img.naturalWidth} x ${img.naturalHeight}` } + + syncNodeImgs() } const handleImageError = () => { @@ -207,14 +209,21 @@ const handleImageError = () => { actualDimensions.value = null } -// In vueNodes mode, we need to set them manually before opening the mask editor. -const setupNodeForMaskEditor = () => { +// Sync node.imgs so context menu can detect this as an image node +const syncNodeImgs = () => { if (!props.nodeId || !currentImageEl.value) return const node = app.rootGraph?.getNodeById(props.nodeId) if (!node) return node.imageIndex = currentIndex.value node.imgs = [currentImageEl.value] - app.canvas?.select(node) +} + +// In vueNodes mode, we need to set them manually before opening the mask editor. +const setupNodeForMaskEditor = () => { + syncNodeImgs() + if (!props.nodeId) return + const node = app.rootGraph?.getNodeById(props.nodeId) + if (node) app.canvas?.select(node) } const handleEditMask = () => {