diff --git a/src/browser/Page.zig b/src/browser/Page.zig index 5e3dcb9f..339e5e50 100644 --- a/src/browser/Page.zig +++ b/src/browser/Page.zig @@ -385,7 +385,12 @@ pub fn deinit(self: *Page, abort_http: bool) void { observer.releaseRef(session); } - self.window._document._selection.releaseRef(session); + var document = self.window._document; + document._selection.releaseRef(session); + + if (document._fonts) |f| { + f.releaseRef(session); + } } session.browser.env.destroyContext(self.js); diff --git a/src/browser/webapi/Document.zig b/src/browser/webapi/Document.zig index cd2d5a4c..39c8a21c 100644 --- a/src/browser/webapi/Document.zig +++ b/src/browser/webapi/Document.zig @@ -454,6 +454,7 @@ pub fn getFonts(self: *Document, page: *Page) !*FontFaceSet { return fonts; } const fonts = try FontFaceSet.init(page); + fonts.acquireRef(); self._fonts = fonts; return fonts; }