diff options
author | psi29a <psi29a@gmail.com> | 2022-01-19 09:09:15 +0000 |
---|---|---|
committer | psi29a <psi29a@gmail.com> | 2022-01-19 09:09:15 +0000 |
commit | 9f9e1b530f5ca0108faf0a801031267a4d33bcfe (patch) | |
tree | 754e4480048b427e754bced4f1f1be71674d694b | |
parent | b3bbcef25eba9825fbeaecfd0fab8f3d982ff4e4 (diff) | |
parent | a2002bc983fb2ed3c767f2bc81db4e0da069ca82 (diff) |
Merge branch 'fix_progress_reporter' into 'master'
Support frequency of ProgressReporter calls lower than interval
See merge request OpenMW/openmw!1569
-rw-r--r-- | components/misc/progressreporter.hpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/components/misc/progressreporter.hpp b/components/misc/progressreporter.hpp index 733e36191e..30d9b0ae2e 100644 --- a/components/misc/progressreporter.hpp +++ b/components/misc/progressreporter.hpp @@ -29,10 +29,10 @@ namespace Misc { const std::lock_guard lock(mMutex); const auto now = std::chrono::steady_clock::now(); - const auto left = mNextReport - now; - if (left.count() > 0 || provided == expected) + if (mNextReport > now || provided == expected) return false; - mNextReport += mInterval + left; + if (mInterval.count() > 0) + mNextReport = mNextReport + mInterval * ((now - mNextReport + mInterval).count() / mInterval.count()); return true; } (); if (shouldReport) |