From 131c8027daa028e7daf6c525c8371fe590af668d Mon Sep 17 00:00:00 2001
From: Ulf Hermann <ulf.hermann@theqtcompany.com>
Date: Fri, 13 Nov 2015 17:54:08 +0100
Subject: [PATCH] QmlProfiler: Fix traceTime updates

If the trace time hasn't been set yet, decreaseStartTime and
increaseEndTime should still do something.

Change-Id: I626c0df66a5d7327708ada77c78546ad4aafc52b
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
---
 src/plugins/qmlprofiler/qmlprofilermodelmanager.cpp | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/src/plugins/qmlprofiler/qmlprofilermodelmanager.cpp b/src/plugins/qmlprofiler/qmlprofilermodelmanager.cpp
index f4ac22cded0..d064f16b5b8 100644
--- a/src/plugins/qmlprofiler/qmlprofilermodelmanager.cpp
+++ b/src/plugins/qmlprofiler/qmlprofilermodelmanager.cpp
@@ -101,16 +101,24 @@ void QmlProfilerTraceTime::setTime(qint64 startTime, qint64 endTime)
 
 void QmlProfilerTraceTime::decreaseStartTime(qint64 time)
 {
-    if (m_startTime > time) {
+    if (m_startTime > time || m_startTime == -1) {
         m_startTime = time;
+        if (m_endTime == -1)
+            m_endTime = m_startTime;
+        else
+            QTC_ASSERT(m_endTime >= m_startTime, m_endTime = m_startTime);
         emit timeChanged(time, m_endTime);
     }
 }
 
 void QmlProfilerTraceTime::increaseEndTime(qint64 time)
 {
-    if (m_endTime < time) {
+    if (m_endTime < time || m_endTime == -1) {
         m_endTime = time;
+        if (m_startTime == -1)
+            m_startTime = m_endTime;
+        else
+            QTC_ASSERT(m_endTime >= m_startTime, m_startTime = m_endTime);
         emit timeChanged(m_startTime, time);
     }
 }
-- 
GitLab