diff --git a/packages/element/src/elbowArrow.ts b/packages/element/src/elbowArrow.ts index fb60c10db7..2425c350cf 100644 --- a/packages/element/src/elbowArrow.ts +++ b/packages/element/src/elbowArrow.ts @@ -20,6 +20,7 @@ import { tupleToCoors, getSizeFromPoints, isDevEnv, + arrayToMap, } from "@excalidraw/common"; import type { AppState } from "@excalidraw/excalidraw/types"; @@ -2208,20 +2209,12 @@ const getGlobalPoint = ( return initialPoint; } - if (element && elementsMap) { - const fixedGlobalPoint = getGlobalFixedPointForBindableElement( + if (element) { + return getGlobalFixedPointForBindableElement( fixedPointRatio || [0, 0], element, - elementsMap, + elementsMap ?? arrayToMap([element]), ); - - // NOTE: Resize scales the binding position point too, so we need to update it - return Math.abs( - distanceToElement(element, elementsMap, fixedGlobalPoint) - - FIXED_BINDING_DISTANCE, - ) > 0.01 - ? bindPointToSnapToElementOutline(arrow, element, startOrEnd, elementsMap) - : fixedGlobalPoint; } return initialPoint; diff --git a/packages/element/src/resizeElements.ts b/packages/element/src/resizeElements.ts index dea6e3d75d..96a053226a 100644 --- a/packages/element/src/resizeElements.ts +++ b/packages/element/src/resizeElements.ts @@ -1518,11 +1518,7 @@ export const resizeMultipleElements = ( } of elementsAndUpdates) { const { width, height, angle } = update; - scene.mutateElement(element, update, { - informMutation: true, - // needed for the fixed binding point udpate to take effect - isDragging: true, - }); + scene.mutateElement(element, update); updateBoundElements(element, scene, { simultaneouslyUpdated: elementsToUpdate,