diff --git a/plugins/base/macro-condition-file.cpp b/plugins/base/macro-condition-file.cpp index 2a2311e7..faeded10 100644 --- a/plugins/base/macro-condition-file.cpp +++ b/plugins/base/macro-condition-file.cpp @@ -124,8 +124,10 @@ bool MacroConditionFile::CheckChangeContent() SetTempVarValue("content", filedata.toStdString()); size_t newHash = strHash(filedata.toUtf8().constData()); - const bool contentChanged = newHash != _lastHash; + const bool contentChanged = !_firstContentCheck && + (newHash != _lastHash); _lastHash = newHash; + _firstContentCheck = false; return contentChanged; } @@ -138,7 +140,7 @@ bool MacroConditionFile::CheckChangeDate() QFile file(QString::fromStdString(_file)); QDateTime newLastMod = QFileInfo(file).lastModified(); SetVariableValue(newLastMod.toString().toStdString()); - const bool dateChanged = _lastMod != newLastMod; + const bool dateChanged = _lastMod.isValid() && (_lastMod != newLastMod); _lastMod = newLastMod; SetTempVarValue("date", newLastMod.toString(Qt::ISODate).toStdString()); return dateChanged; diff --git a/plugins/base/macro-condition-file.hpp b/plugins/base/macro-condition-file.hpp index c6340608..9ee0b9d5 100644 --- a/plugins/base/macro-condition-file.hpp +++ b/plugins/base/macro-condition-file.hpp @@ -62,6 +62,7 @@ private: Condition _condition = Condition::MATCH; QDateTime _lastMod; size_t _lastHash = 0; + bool _firstContentCheck = true; std::string _lastFile; std::string _basename; std::string _basenameComplete;