summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpsi29a <psi29a@gmail.com>2022-01-19 09:09:15 +0000
committerpsi29a <psi29a@gmail.com>2022-01-19 09:09:15 +0000
commit9f9e1b530f5ca0108faf0a801031267a4d33bcfe (patch)
tree754e4480048b427e754bced4f1f1be71674d694b
parentb3bbcef25eba9825fbeaecfd0fab8f3d982ff4e4 (diff)
parenta2002bc983fb2ed3c767f2bc81db4e0da069ca82 (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.hpp6
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)