diff --git a/server/ruleengine.cpp b/server/ruleengine.cpp index 28415bd0..12fbfb68 100644 --- a/server/ruleengine.cpp +++ b/server/ruleengine.cpp @@ -122,8 +122,7 @@ namespace guhserver { instance available from \l{GuhCore}. This one should be used instead of creating multiple ones. */ RuleEngine::RuleEngine(QObject *parent) : - QObject(parent), - m_lastEvaluationTime(QDateTime::currentDateTime()) + QObject(parent) { GuhSettings settings(GuhSettings::SettingsRoleRules); qCDebug(dcRuleEngine) << "loading rules from" << settings.fileName(); @@ -384,6 +383,11 @@ QList RuleEngine::evaluateEvent(const Event &event) */ QList RuleEngine::evaluateTime(const QDateTime &dateTime) { + if (!m_lastEvaluationTime.isValid()) { + m_lastEvaluationTime = dateTime; + m_lastEvaluationTime.addSecs(-1); + } + QList rules; foreach (const Rule &r, m_rules.values()) { @@ -427,7 +431,7 @@ QList RuleEngine::evaluateTime(const QDateTime &dateTime) } } - m_lastEvaluationTime = QDateTime::currentDateTime(); + m_lastEvaluationTime = dateTime; return rules; }