summaryrefslogtreecommitdiffstats
path: root/src/declarative/qml
diff options
context:
space:
mode:
authorFrantisek Vacek <fvacek@rim.com>2012-10-12 14:31:59 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2012-10-13 23:18:00 +0200
commita1d3383a380531e09e994c94f13820504e6a56db (patch)
tree1f4b20f261495341304fc1e6ded99938aa85a1d3 /src/declarative/qml
parent1345af6b49edce7ae71a88606741485c4c301c39 (diff)
QPerformanceTimer: fixed wrong implementation of elapsedToAbsoluteTime()
Function elapsedToAbsoluteTime() had wrong implementation on MAC and WIN platforms. Change-Id: Icc11e85bcd562cce42af902749883b433a1fcb0b Reviewed-by: Christiaan Janssen <christiaan.janssen@digia.com>
Diffstat (limited to 'src/declarative/qml')
-rw-r--r--src/declarative/qml/qperformancetimer.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/declarative/qml/qperformancetimer.cpp b/src/declarative/qml/qperformancetimer.cpp
index 9e2e0734..c818a8b1 100644
--- a/src/declarative/qml/qperformancetimer.cpp
+++ b/src/declarative/qml/qperformancetimer.cpp
@@ -76,15 +76,16 @@ void QPerformanceTimer::start()
qint64 QPerformanceTimer::elapsed() const
{
- uint64_t cpu_time = mach_absolute_time();
+ qint64 cpu_time = mach_absolute_time();
return absoluteToNSecs(cpu_time - t1);
}
// return number of nsecs elapsed from timer start time till absoluteMonotonicTimeNs
+// elapsedToAbsoluteTime(0) returns negative value of absolute time (ns) when the timer was started
qint64 QPerformanceTimer::elapsedToAbsoluteTime(qint64 absoluteMonotonicTimeNs) const
{
- uint64_t cpu_time = absoluteMonotonicTimeNs;
- return absoluteToNSecs(cpu_time - t1);
+ qint64 absolute_t1_ns = absoluteToNSecs(t1);
+ return absoluteMonotonicTimeNs - absolute_t1_ns;
}
////////////////////////////// Unix //////////////////////////////
@@ -198,7 +199,8 @@ qint64 QPerformanceTimer::elapsed() const
qint64 QPerformanceTimer::elapsedToAbsoluteTime(qint64 absoluteMonotonicTimeNs) const
{
- return absoluteMonotonicTimeNs - t1;
+ qint64 absolute_t1_ns = getTimeFromTick(t1);
+ return absoluteMonotonicTimeNs - absolute_t1_ns;
}
////////////////////////////// Default //////////////////////////////