From 6ff4a0b58668ff572a1942405161e2db98238b87 Mon Sep 17 00:00:00 2001 From: Christiaan Janssen Date: Mon, 26 Mar 2012 16:20:09 +0200 Subject: QmlProfiler: flush on new trace Discard pending data if a new trace arrives while an old one was still being processed. If we don't, the data of both traces gets mixed, leading to a possible crash. Change-Id: Ibba7df06f6a4b7e93d00f6fa1fa4802baf3a1731 Reviewed-by: Kai Koehne --- src/plugins/qmlprofiler/qmlprofilerclientmanager.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/plugins/qmlprofiler/qmlprofilerclientmanager.cpp') diff --git a/src/plugins/qmlprofiler/qmlprofilerclientmanager.cpp b/src/plugins/qmlprofiler/qmlprofilerclientmanager.cpp index 01a0d787a2..a9002aa85b 100644 --- a/src/plugins/qmlprofiler/qmlprofilerclientmanager.cpp +++ b/src/plugins/qmlprofiler/qmlprofilerclientmanager.cpp @@ -123,6 +123,13 @@ void QmlProfilerClientManager::clearBufferedData() d->v8clientplugin.data()->clearData(); } +void QmlProfilerClientManager::discardPendingData() +{ + if (d->connection) + d->connection->flush(); + clearBufferedData(); +} + //////////////////////////////////////////////////////////////// // Internal void QmlProfilerClientManager::connectClient(quint16 port) -- cgit v1.2.1