diff --git a/src/plugins/qmlprofiler/qmlprofilermodelmanager.cpp b/src/plugins/qmlprofiler/qmlprofilermodelmanager.cpp index f4ac22cded0781494b39f12a75a298c96b3283f1..d064f16b5b8859f44678626bb529246345a4cb3d 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); } }