summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@intel.com>2023-05-09 16:06:58 -0700
committerThiago Macieira <thiago.macieira@intel.com>2023-05-11 00:28:49 -0700
commitd848e6d87d0bdcd4290f9b2362981bb43ae1a871 (patch)
tree95fc4cd8ae47a784b3023e47e346dcf2e55db7e3
parent285f92bd5456f0f2466e8c984eedc1ffd8f69d76 (diff)
QDeadlineTimer: use std::chrono::ceil() in setRemainingTime()
In case the time is of less than 1 ns, we want to make sure it remains non-zero. Change-Id: I3e3bfef633af4130a03afffd175d9c4903271f80 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Ahmad Samir <a.samirh78@gmail.com>
-rw-r--r--src/corelib/kernel/qdeadlinetimer.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/corelib/kernel/qdeadlinetimer.h b/src/corelib/kernel/qdeadlinetimer.h
index c4be957985..dab5e055ae 100644
--- a/src/corelib/kernel/qdeadlinetimer.h
+++ b/src/corelib/kernel/qdeadlinetimer.h
@@ -109,10 +109,11 @@ public:
template <class Rep, class Period>
void setRemainingTime(std::chrono::duration<Rep, Period> remaining, Qt::TimerType type_ = Qt::CoarseTimer)
{
+ using namespace std::chrono;
if (remaining == remaining.max())
*this = QDeadlineTimer(Forever, type_);
else
- setPreciseRemainingTime(0, std::chrono::nanoseconds(remaining).count(), type_);
+ setPreciseRemainingTime(0, ceil<nanoseconds>(remaining).count(), type_);
}
std::chrono::nanoseconds remainingTimeAsDuration() const noexcept