diff --git a/packages/core/src/components/ConnectionLine/ConnectionLine.vue b/packages/core/src/components/ConnectionLine/ConnectionLine.vue index 15fd4116..d93fa6ff 100644 --- a/packages/core/src/components/ConnectionLine/ConnectionLine.vue +++ b/packages/core/src/components/ConnectionLine/ConnectionLine.vue @@ -95,7 +95,7 @@ export default { v-if="connectionLineComponent" :source-x="sourceX" :source-y="sourceY" - :source-position="sourceHandle?.position" + :source-position="fromPosition" :targetX="targetX" :targetY="targetY" :target-position="targetPosition" diff --git a/packages/core/src/composables/useHandle.ts b/packages/core/src/composables/useHandle.ts index 662be5b9..54b92842 100644 --- a/packages/core/src/composables/useHandle.ts +++ b/packages/core/src/composables/useHandle.ts @@ -176,9 +176,11 @@ export default function useHandle({ } function onPointerUp(event: MouseEvent | TouchEvent) { - if (connection && isValid) { - if (!onEdgeUpdate) emits.connect({ ...(defaultEdgeOptions?.value || {}), ...connection }) - else onEdgeUpdate(connection) + if (prevClosestHandle) { + if (connection && isValid) { + if (!onEdgeUpdate) emits.connect({ ...(defaultEdgeOptions?.value || {}), ...connection }) + else onEdgeUpdate(connection) + } } emits.connectEnd(event)