summaryrefslogtreecommitdiff
path: root/src/helpers/AsyncDialogBox.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/helpers/AsyncDialogBox.cpp')
-rw-r--r--src/helpers/AsyncDialogBox.cpp11
1 files changed, 8 insertions, 3 deletions
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> 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));
}