From 88ec9e4ff172166c065893ab862890fb84bdde95 Mon Sep 17 00:00:00 2001 From: "alonso.torres" Date: Thu, 16 Apr 2026 13:55:28 +0200 Subject: [PATCH] :bug: Fix problem with store font after cleanup --- frontend/src/app/render_wasm/api/fonts.cljs | 35 +++++++++++---------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/frontend/src/app/render_wasm/api/fonts.cljs b/frontend/src/app/render_wasm/api/fonts.cljs index 3c011cd3db..b46bf6cafc 100644 --- a/frontend/src/app/render_wasm/api/fonts.cljs +++ b/frontend/src/app/render_wasm/api/fonts.cljs @@ -121,24 +121,25 @@ ;; IMPORTANT: Only TTF fonts can be stored. (defn- store-font-buffer [font-data font-array-buffer emoji? fallback?] - (let [font-id-buffer (:family-id-buffer font-data) - size (.-byteLength font-array-buffer) - ptr (h/call wasm/internal-module "_alloc_bytes" size) - heap (gobj/get ^js wasm/internal-module "HEAPU8") - mem (js/Uint8Array. (.-buffer heap) ptr size)] + (when wasm/context-initialized? + (let [font-id-buffer (:family-id-buffer font-data) + size (.-byteLength font-array-buffer) + ptr (h/call wasm/internal-module "_alloc_bytes" size) + heap (gobj/get ^js wasm/internal-module "HEAPU8") + mem (js/Uint8Array. (.-buffer heap) ptr size)] - (.set mem (js/Uint8Array. font-array-buffer)) - (st/emit! (ptk/data-event :font-loaded {:font-id (:font-id font-data)})) - (h/call wasm/internal-module "_store_font" - (aget font-id-buffer 0) - (aget font-id-buffer 1) - (aget font-id-buffer 2) - (aget font-id-buffer 3) - (:weight font-data) - (:style font-data) - emoji? - fallback?) - true)) + (.set mem (js/Uint8Array. font-array-buffer)) + (st/emit! (ptk/data-event :font-loaded {:font-id (:font-id font-data)})) + (h/call wasm/internal-module "_store_font" + (aget font-id-buffer 0) + (aget font-id-buffer 1) + (aget font-id-buffer 2) + (aget font-id-buffer 3) + (:weight font-data) + (:style font-data) + emoji? + fallback?) + true))) ;; Tracks fonts currently being fetched: {url -> fallback?} ;; When the same font is requested as both primary and fallback,