diff options
author | Thiago Macieira <thiago.macieira@intel.com> | 2023-05-09 16:06:58 -0700 |
---|---|---|
committer | Thiago Macieira <thiago.macieira@intel.com> | 2023-05-11 00:28:49 -0700 |
commit | d848e6d87d0bdcd4290f9b2362981bb43ae1a871 (patch) | |
tree | 95fc4cd8ae47a784b3023e47e346dcf2e55db7e3 | |
parent | 285f92bd5456f0f2466e8c984eedc1ffd8f69d76 (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.h | 3 |
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 |