Fix WebGL Context Lost when loading projects due to React Strict Mode unmount
Build and Deploy / build-and-push (push) Successful in 40s

This commit is contained in:
AI Bot
2026-09-02 17:20:24 +05:30
parent db4981c835
commit faeb473bfc
+4 -4
View File
@@ -296,10 +296,10 @@ export default function Editor() {
}, [blobURLs]); }, [blobURLs]);
// Dispose old model when new one is loaded // Dispose old model when new one is loaded
const prevLoadedModelRef = useRef<THREE.Object3D | null>(null);
useEffect(() => { useEffect(() => {
return () => { if (prevLoadedModelRef.current && prevLoadedModelRef.current !== loadedModel) {
if (loadedModel) { prevLoadedModelRef.current.traverse((child) => {
loadedModel.traverse((child) => {
if (child instanceof THREE.Mesh) { if (child instanceof THREE.Mesh) {
child.geometry.dispose(); child.geometry.dispose();
if (Array.isArray(child.material)) { if (Array.isArray(child.material)) {
@@ -310,7 +310,7 @@ export default function Editor() {
} }
}); });
} }
}; prevLoadedModelRef.current = loadedModel;
}, [loadedModel]); }, [loadedModel]);
const [isLoading, setIsLoading] = useState(false); const [isLoading, setIsLoading] = useState(false);
const [importProgress, setImportProgress] = useState(0); const [importProgress, setImportProgress] = useState(0);