From 900ee41d0ff7bc3995cec014d4f59a3d06c384d1 Mon Sep 17 00:00:00 2001 From: Ryan Di Date: Fri, 25 Apr 2025 11:09:18 +1000 Subject: [PATCH] fix elbow segment indexing --- packages/excalidraw/components/ShapeSwitch.tsx | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/packages/excalidraw/components/ShapeSwitch.tsx b/packages/excalidraw/components/ShapeSwitch.tsx index 2c78d8b57..2f792ef4f 100644 --- a/packages/excalidraw/components/ShapeSwitch.tsx +++ b/packages/excalidraw/components/ShapeSwitch.tsx @@ -583,17 +583,18 @@ export const switchShapes = ( if (isElbowArrow(element)) { const nextPoints = convertLineToElbow(element); - + if (nextPoints.length < 2) { + // skip if not enough points to form valid segments + continue; + } const fixedSegments: FixedSegment[] = []; - for (let i = 0; i < nextPoints.length - 1; i++) { fixedSegments.push({ start: nextPoints[i], end: nextPoints[i + 1], - index: i, + index: i + 1, }); } - const updates = updateElbowArrowPoints( element, app.scene.getNonDeletedElementsMap(),