aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tools/qmlprofiler/main.cpp4
-rw-r--r--tools/qmlprofiler/qmlprofilerapplication.cpp8
-rw-r--r--tools/qmlprofiler/qmlprofilerapplication.h1
3 files changed, 12 insertions, 1 deletions
diff --git a/tools/qmlprofiler/main.cpp b/tools/qmlprofiler/main.cpp
index 5496072eb2..12fcc79efa 100644
--- a/tools/qmlprofiler/main.cpp
+++ b/tools/qmlprofiler/main.cpp
@@ -53,6 +53,8 @@ int main(int argc, char *argv[])
listenerThread.wait();
return exitValue;
} else {
- return app.exec();
+ int exitValue = app.exec();
+ app.outputData();
+ return exitValue;
}
}
diff --git a/tools/qmlprofiler/qmlprofilerapplication.cpp b/tools/qmlprofiler/qmlprofilerapplication.cpp
index a9fa691cbc..1b3a90a1a1 100644
--- a/tools/qmlprofiler/qmlprofilerapplication.cpp
+++ b/tools/qmlprofiler/qmlprofilerapplication.cpp
@@ -394,6 +394,14 @@ void QmlProfilerApplication::notifyTraceStarted()
}
}
+void QmlProfilerApplication::outputData()
+{
+ if (!m_profilerData.isEmpty()) {
+ m_profilerData.save(m_outputFile);
+ m_profilerData.clear();
+ }
+}
+
void QmlProfilerApplication::run()
{
if (m_runMode == LaunchMode) {
diff --git a/tools/qmlprofiler/qmlprofilerapplication.h b/tools/qmlprofiler/qmlprofilerapplication.h
index 8f5be179b6..183bb9d644 100644
--- a/tools/qmlprofiler/qmlprofilerapplication.h
+++ b/tools/qmlprofiler/qmlprofilerapplication.h
@@ -67,6 +67,7 @@ signals:
public slots:
void userCommand(const QString &command);
void notifyTraceStarted();
+ void outputData();
private slots:
void run();