Fix onDestroy not called for Popup component

This commit is contained in:
hensm
2022-08-27 10:28:02 +01:00
parent 0753c701a0
commit 1032fb1572
2 changed files with 12 additions and 9 deletions

View File

@@ -1,5 +1,5 @@
<script lang="ts">
import { afterUpdate, onMount, tick } from "svelte";
import { afterUpdate, onDestroy, onMount, tick } from "svelte";
import messaging, { Message, Port } from "../../messaging";
import options, { Options } from "../../lib/options";
@@ -131,15 +131,15 @@
window.addEventListener("contextmenu", onContextMenu);
browser.menus.onClicked.addListener(onMenuClicked);
browser.menus.onShown.addListener(onMenuShown);
});
return () => {
port?.disconnect();
resizeObserver.disconnect();
onDestroy(() => {
port?.disconnect();
resizeObserver.disconnect();
window.addEventListener("contextmenu", onContextMenu);
browser.menus.onClicked.removeListener(onMenuClicked);
browser.menus.onShown.removeListener(onMenuShown);
};
window.removeEventListener("contextmenu", onContextMenu);
browser.menus.onClicked.removeListener(onMenuClicked);
browser.menus.onShown.removeListener(onMenuShown);
});
afterUpdate(async () => {

View File

@@ -12,5 +12,8 @@ browser.runtime.getPlatformInfo().then(platformInfo => {
const target = document.getElementById("root");
if (target) {
new Popup({ target });
const popup = new Popup({ target });
window.addEventListener("unload", () => {
popup.$destroy();
});
}