From 2e1f08c796db133090c49ca679934678492cb204 Mon Sep 17 00:00:00 2001 From: zsviczian Date: Tue, 2 Jul 2024 22:08:02 +0200 Subject: [PATCH] fix: memory leak - scene.destroy() and window.launchQueue (#8198) --- packages/excalidraw/components/App.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/excalidraw/components/App.tsx b/packages/excalidraw/components/App.tsx index 7be5295943..093f6bfdfe 100644 --- a/packages/excalidraw/components/App.tsx +++ b/packages/excalidraw/components/App.tsx @@ -2490,7 +2490,9 @@ class App extends React.Component { } public componentWillUnmount() { + (window as any).launchQueue?.setConsumer(() => {}); this.renderer.destroy(); + this.scene.destroy(); this.scene = new Scene(); this.fonts = new Fonts({ scene: this.scene }); this.renderer = new Renderer(this.scene); @@ -2499,7 +2501,6 @@ class App extends React.Component { this.resizeObserver?.disconnect(); this.unmounted = true; this.removeEventListeners(); - this.scene.destroy(); this.library.destroy(); this.laserTrails.stop(); this.eraserTrail.stop();