Browse Source

fix: Duplicating arrow without bound elements throws error (#8316)

Co-authored-by: David Luzar <[email protected]>
zsviczian 1 year ago
parent
commit
c67815f7b0
1 changed files with 3 additions and 3 deletions
  1. 3 3
      packages/excalidraw/element/binding.ts

+ 3 - 3
packages/excalidraw/element/binding.ts

@@ -1246,11 +1246,11 @@ export const fixBindingsAfterDuplication = (
     .filter(({ id }) => allBindableElementIds.has(id))
     .filter(({ id }) => allBindableElementIds.has(id))
     .forEach((bindableElement) => {
     .forEach((bindableElement) => {
       const oldElementId = duplicateIdToOldId.get(bindableElement.id);
       const oldElementId = duplicateIdToOldId.get(bindableElement.id);
-      const { boundElements } = sceneElements.find(
+      const boundElements = sceneElements.find(
         ({ id }) => id === oldElementId,
         ({ id }) => id === oldElementId,
-      )!;
+      )?.boundElements;
 
 
-      if (boundElements != null && boundElements.length > 0) {
+      if (boundElements && boundElements.length > 0) {
         mutateElement(bindableElement, {
         mutateElement(bindableElement, {
           boundElements: boundElements.map((boundElement) =>
           boundElements: boundElements.map((boundElement) =>
             oldIdToDuplicatedId.has(boundElement.id)
             oldIdToDuplicatedId.has(boundElement.id)