aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHenry Jameson <me@hjkos.com>2021-01-23 13:58:40 +0200
committerHenry Jameson <me@hjkos.com>2021-01-23 13:58:40 +0200
commit272ba8f7a926a4852dc01d05f2904cc57da3c8fd (patch)
treeb9a9babc35a213c5e87350dc79f337e280f2b174
parent28ebb8b0ae3bca71a82532297715948a959fbe67 (diff)
Fix p's weird corrupt theme data crashing theme engine
-rw-r--r--src/services/style_setter/style_setter.js15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/services/style_setter/style_setter.js b/src/services/style_setter/style_setter.js
index 07425abd..0fb8f92a 100644
--- a/src/services/style_setter/style_setter.js
+++ b/src/services/style_setter/style_setter.js
@@ -242,9 +242,18 @@ export const generateShadows = (input, colors) => {
panelHeader: 'panel',
input: 'input'
}
- const inputShadows = input.shadows && !input.themeEngineVersion
- ? shadows2to3(input.shadows, input.opacity)
- : input.shadows || {}
+
+ const cleanInputShadows = Object.fromEntries(
+ Object.entries(input.shadows)
+ .map(([name, shadowSlot]) => [
+ name,
+ // defaulting color to black to avoid potential problems
+ shadowSlot.map(shadowDef => ({ color: '#000000', ...shadowDef }))
+ ])
+ )
+ const inputShadows = cleanInputShadows && !input.themeEngineVersion
+ ? shadows2to3(cleanInputShadows, input.opacity)
+ : cleanInputShadows || {}
const shadows = Object.entries({
...DEFAULT_SHADOWS,
...inputShadows