summaryrefslogtreecommitdiff
path: root/src/config/lua/bindings/LuaBindingsConfigRules.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/config/lua/bindings/LuaBindingsConfigRules.cpp')
-rw-r--r--src/config/lua/bindings/LuaBindingsConfigRules.cpp11
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);