From d0572b257f950f3f40938dc2e437d5a4e34e2210 Mon Sep 17 00:00:00 2001 From: Alexis Maiquez Date: Thu, 2 Dec 2021 22:00:43 +0100 Subject: [PATCH] ~ Combos can have no default value Signed-off-by: Alexis Maiquez --- src/WallpaperEngine/Render/Shaders/Compiler.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/WallpaperEngine/Render/Shaders/Compiler.cpp b/src/WallpaperEngine/Render/Shaders/Compiler.cpp index dab0a5e..cd31a82 100644 --- a/src/WallpaperEngine/Render/Shaders/Compiler.cpp +++ b/src/WallpaperEngine/Render/Shaders/Compiler.cpp @@ -503,7 +503,7 @@ namespace WallpaperEngine::Render::Shaders { json data = json::parse (content); auto combo = jsonFindRequired (data, "combo", "cannot parse combo information"); - auto defvalue = jsonFindRequired (data, "default", "cannot parse combo information"); + auto defvalue = data.find ("default"); // add line feed just in case this->m_compiledContent += "\n"; @@ -516,7 +516,12 @@ namespace WallpaperEngine::Render::Shaders if (entry == this->m_combos->end ()) { // if no combo is defined just load the default settings - if ((*defvalue).is_number_float ()) + if (defvalue == data.end ()) + { + // TODO: PROPERLY SUPPORT EMPTY COMBOS + this->m_combos->insert (std::make_pair (*combo, 0)); + } + else if ((*defvalue).is_number_float ()) { throw std::runtime_error ("float combos not supported"); }