From cbefb357a57ce5f6dd161a400a5867609022ee66 Mon Sep 17 00:00:00 2001 From: Vaxry Date: Tue, 28 Apr 2026 15:42:09 +0100 Subject: desktop/windowRule: use variants for storage internally Improves storage: less dynamic parsing, immediate config errors, faster. --- src/helpers/AsyncDialogBox.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'src/helpers') diff --git a/src/helpers/AsyncDialogBox.cpp b/src/helpers/AsyncDialogBox.cpp index 8c2c7cd7..57059275 100644 --- a/src/helpers/AsyncDialogBox.cpp +++ b/src/helpers/AsyncDialogBox.cpp @@ -161,7 +161,12 @@ SP CAsyncDialogBox::lockSelf() { } void CAsyncDialogBox::setExecRule(std::string&& s) { - auto rule = Desktop::Rule::CWindowRule::buildFromExecString(std::move(s)); - m_execRuleToken = rule->execToken(); - Desktop::Rule::ruleEngine()->registerRule(std::move(rule)); + auto rule = Desktop::Rule::CWindowRule::buildFromExecString(std::move(s)); + if (!rule) { + Log::logger->log(Log::ERR, "CAsyncDialogBox: failed to parse exec rule: {}", rule.error()); + return; + } + + m_execRuleToken = (*rule)->execToken(); + Desktop::Rule::ruleEngine()->registerRule(std::move(*rule)); } -- cgit v1.2.3