From b43785de654f2130b01cf9dfc547cf1c403a7b04 Mon Sep 17 00:00:00 2001 From: doruk Date: Mon, 14 Sep 2026 02:33:21 +0300 Subject: [PATCH] gh-15387: Fix #writeToDom crash when mod has checkbox preferences (gh-15388) --- src/zen/mods/ZenMods.mjs | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/src/zen/mods/ZenMods.mjs b/src/zen/mods/ZenMods.mjs index 11c002bfe..a836f483a 100644 --- a/src/zen/mods/ZenMods.mjs +++ b/src/zen/mods/ZenMods.mjs @@ -182,15 +182,21 @@ class nsZenMods extends nsZenPreloadedFeature { ({ enabled, preferences, name }) => ({ enabled, sanitizedName: this.sanitizeModName(name), - prefs: preferences.map(({ property, type }) => ({ - property, - type, - sanitizedProperty: property?.replaceAll(DOT_RE, "-"), - value: - enabled === undefined || enabled - ? Services.prefs.getStringPref(property, "") - : "", - })), + prefs: preferences.map(({ property, type }) => { + const isEnabled = enabled === undefined || enabled; + const getPref = + type === "checkbox" + ? Services.prefs.getBoolPref + : Services.prefs.getStringPref; + const fallback = type === "checkbox" ? false : ""; + + return { + property, + type, + sanitizedProperty: property?.replaceAll(DOT_RE, "-"), + value: isEnabled ? getPref(property, fallback) : fallback, + }; + }), }) );