From 3d9374e02e92ca8b4f2b4979cbbde53eba390038 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E9=93=84=E8=BF=90=20=28Alan=20Song=29?= Date: Tue, 5 Aug 2025 22:29:32 +0000 Subject: [PATCH] lazy initialize IccColorSpace.#finalizer --- src/core/icc_colorspace.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/core/icc_colorspace.js b/src/core/icc_colorspace.js index b8ed91a6f..a94c85c75 100644 --- a/src/core/icc_colorspace.js +++ b/src/core/icc_colorspace.js @@ -48,9 +48,7 @@ class IccColorSpace extends ColorSpace { static #wasmUrl = null; - static #finalizer = new FinalizationRegistry(transformer => { - qcms_drop_transformer(transformer); - }); + static #finalizer = null; constructor(iccProfile, name, numComps) { if (!IccColorSpace.isUsable) { @@ -100,6 +98,9 @@ class IccColorSpace extends ColorSpace { if (!this.#transformer) { throw new Error("Failed to create ICC color space"); } + IccColorSpace.#finalizer ||= new FinalizationRegistry(transformer => { + qcms_drop_transformer(transformer); + }); IccColorSpace.#finalizer.register(this, this.#transformer); }