diff options
Diffstat (limited to 'src/config/lua/bindings/LuaBindingsConfigRules.cpp')
| -rw-r--r-- | src/config/lua/bindings/LuaBindingsConfigRules.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/config/lua/bindings/LuaBindingsConfigRules.cpp b/src/config/lua/bindings/LuaBindingsConfigRules.cpp index 4f9fc861..88761f05 100644 --- a/src/config/lua/bindings/LuaBindingsConfigRules.cpp +++ b/src/config/lua/bindings/LuaBindingsConfigRules.cpp @@ -1186,8 +1186,11 @@ static int hlLayerRule(lua_State* L) { auto val = Internal::ruleValueToString(L); if (!val) self->addError(std::format("{}: hl.layer_rule: field '{}': {}", sourceInfo, key, val.error())); - else - rule->addEffect(*dynamicEffect, *val); + else { + auto res = rule->addEffect(*dynamicEffect, *val); + if (!res) + self->addError(std::format("{}: hl.layer_rule: field '{}': {}", sourceInfo, key, res.error())); + } lua_pop(L, 1); continue; @@ -1199,7 +1202,9 @@ static int hlLayerRule(lua_State* L) { self->addError(std::format("{}: hl.layer_rule: field '{}': {}", sourceInfo, key, err.message)); else { auto str = val->toString(); - rule->addEffect(desc->effect, str); + auto res = rule->addEffect(desc->effect, str); + if (!res) + self->addError(std::format("{}: hl.layer_rule: field '{}': {}", sourceInfo, key, res.error())); } lua_pop(L, 1); |
