diff --git a/tracker/tracker/src/main/modules/fonts.ts b/tracker/tracker/src/main/modules/fonts.ts index 1dfb6069c..2b39db7e5 100644 --- a/tracker/tracker/src/main/modules/fonts.ts +++ b/tracker/tracker/src/main/modules/fonts.ts @@ -45,22 +45,24 @@ export default function (app: App) { app.observer.attachContextCallback(patchWindow) patchWindow(window) - app.nodes.attachNodeCallback((node) => { - if (!isDocument(node)) { - return - } - const ffDataArr = docFonts.get(node) - if (!ffDataArr) { - return - } + app.nodes.attachNodeCallback( + app.safe((node) => { + if (!isDocument(node)) { + return + } + const ffDataArr = docFonts.get(node) + if (!ffDataArr) { + return + } - const parentID = node.defaultView === window ? 0 : app.nodes.getID(node) - if (parentID === undefined) { - return - } + const parentID = node.defaultView === window ? 0 : app.nodes.getID(node) + if (parentID === undefined) { + return + } - ffDataArr.forEach((ffData) => { - app.send(LoadFontFace(parentID, ...ffData)) - }) - }) + ffDataArr.forEach((ffData) => { + app.send(LoadFontFace(parentID, ...ffData)) + }) + }), + ) }