diff --git a/theme/src/client/components/background/Beams.vue b/theme/src/client/components/background/Beams.vue index a0b52e68..d1a08a0e 100644 --- a/theme/src/client/components/background/Beams.vue +++ b/theme/src/client/components/background/Beams.vue @@ -448,6 +448,12 @@ onMounted(() => { onUnmounted(() => { cleanup() + renderer = null + scene = null + camera = null + beamMesh = null + directionalLight = null + ambientLight = null }) diff --git a/theme/src/client/components/background/DotGrid.vue b/theme/src/client/components/background/DotGrid.vue index 9073bb9d..fea870c6 100644 --- a/theme/src/client/components/background/DotGrid.vue +++ b/theme/src/client/components/background/DotGrid.vue @@ -288,6 +288,7 @@ onUnmounted(() => { if (resizeObserver) { resizeObserver.disconnect() + resizeObserver = null } else { window.removeEventListener('resize', buildGrid) diff --git a/theme/src/client/components/background/Lightning.vue b/theme/src/client/components/background/Lightning.vue index 21ade15d..6de37e4b 100644 --- a/theme/src/client/components/background/Lightning.vue +++ b/theme/src/client/components/background/Lightning.vue @@ -254,6 +254,8 @@ onUnmounted(() => { if (animationId) { cancelAnimationFrame(animationId) } + gl = null + program = null }) watch(