summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2018-05-28 16:40:36 +0200
committerUlf Hermann <ulf.hermann@qt.io>2018-05-29 08:17:58 +0000
commit0f3409bf3fd89e194dfd732f188beaee46a129d4 (patch)
treea55f5e25c0208baa006e2a9f167a632c07f08806
parentbfb37643287b83325a7a63630ef19885dac78d7c (diff)
downloadqt-creator-0f3409bf3fd89e194dfd732f188beaee46a129d4.tar.gz
QmlProfiler: Set the future to finished after loading all events
Change-Id: I9b23eb5a10558279a47b9bcc106430d5c2b802e0 Task-number: QTCREATORBUG-20508 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
-rw-r--r--src/libs/tracing/timelinetracefile.cpp5
-rw-r--r--src/libs/tracing/timelinetracefile.h2
-rw-r--r--src/plugins/qmlprofiler/qmlprofilertracefile.cpp4
3 files changed, 11 insertions, 0 deletions
diff --git a/src/libs/tracing/timelinetracefile.cpp b/src/libs/tracing/timelinetracefile.cpp
index 858cddbb9d..52fc962360 100644
--- a/src/libs/tracing/timelinetracefile.cpp
+++ b/src/libs/tracing/timelinetracefile.cpp
@@ -67,6 +67,11 @@ void TimelineTraceFile::fail(const QString &message)
m_future.cancel();
}
+void TimelineTraceFile::finish()
+{
+ m_future.reportFinished();
+}
+
bool TimelineTraceFile::isCanceled() const
{
return m_future.isCanceled();
diff --git a/src/libs/tracing/timelinetracefile.h b/src/libs/tracing/timelinetracefile.h
index 4c1a255ba7..6be162f28a 100644
--- a/src/libs/tracing/timelinetracefile.h
+++ b/src/libs/tracing/timelinetracefile.h
@@ -64,7 +64,9 @@ public:
virtual void save(QIODevice *device) = 0;
virtual void load(QIODevice *device) = 0;
+
void fail(const QString &message);
+ void finish();
void setTraceStart(qint64 traceStart) { m_traceStart = traceStart; }
qint64 traceStart() const { return m_traceStart; }
diff --git a/src/plugins/qmlprofiler/qmlprofilertracefile.cpp b/src/plugins/qmlprofiler/qmlprofilertracefile.cpp
index 0a69f1324c..38ac383f36 100644
--- a/src/plugins/qmlprofiler/qmlprofilertracefile.cpp
+++ b/src/plugins/qmlprofiler/qmlprofilertracefile.cpp
@@ -191,6 +191,8 @@ void QmlProfilerTraceFile::loadQtd(QIODevice *device)
if (stream.hasError())
fail(tr("Error while parsing trace data file: %1").arg(stream.errorString()));
+ else
+ finish();
}
void QmlProfilerTraceFile::loadQzt(QIODevice *device)
@@ -285,6 +287,8 @@ void QmlProfilerTraceFile::loadQzt(QIODevice *device)
buffer.close();
setDeviceProgress(device);
}
+
+ finish();
}
void QmlProfilerTraceFile::addEventsProgress(qint64 timestamp)