forked from qt-creator/qt-creator
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 <kai.koehne@nokia.com>
This commit is contained in:
@@ -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)
|
||||
|
@@ -55,6 +55,7 @@ public:
|
||||
void setOstConnection(QString ostDevice);
|
||||
|
||||
void clearBufferedData();
|
||||
void discardPendingData();
|
||||
|
||||
signals:
|
||||
void connectionFailed();
|
||||
|
@@ -476,6 +476,7 @@ void QmlProfilerTool::updateTimeDisplay()
|
||||
void QmlProfilerTool::clearData()
|
||||
{
|
||||
d->m_profilerDataModel->clear();
|
||||
d->m_profilerConnections->discardPendingData();
|
||||
}
|
||||
|
||||
void QmlProfilerTool::clearDisplay()
|
||||
|
Reference in New Issue
Block a user