From b46ca0192b4df0c12bd672205529ba6c6b16954b Mon Sep 17 00:00:00 2001 From: zsviczian Date: Wed, 11 Sep 2024 07:57:41 +0200 Subject: [PATCH] fix: addFiles clears the whole image cache when each file is added - regression from #8471 (#8490) Update App.tsx --- packages/excalidraw/components/App.tsx | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/excalidraw/components/App.tsx b/packages/excalidraw/components/App.tsx index e067bba7d1..8276b88f4f 100644 --- a/packages/excalidraw/components/App.tsx +++ b/packages/excalidraw/components/App.tsx @@ -2367,9 +2367,10 @@ class App extends React.Component { return false; }; - private clearImageShapeCache() { + private clearImageShapeCache(filesMap?: BinaryFiles) { + const files = filesMap ?? this.files; this.scene.getNonDeletedElements().forEach((element) => { - if (isInitializedImageElement(element) && this.files[element.fileId]) { + if (isInitializedImageElement(element) && files[element.fileId]) { this.imageCache.delete(element.fileId); ShapeCache.delete(element); } @@ -3690,7 +3691,7 @@ class App extends React.Component { this.files = { ...this.files, ...Object.fromEntries(filesMap) }; - this.clearImageShapeCache(); + this.clearImageShapeCache(Object.fromEntries(filesMap)); this.scene.triggerUpdate(); this.addNewImagesToImageCache();