diff options
Diffstat (limited to 'src/declarative/debugger/qdeclarativedebugtrace.cpp')
-rw-r--r-- | src/declarative/debugger/qdeclarativedebugtrace.cpp | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/src/declarative/debugger/qdeclarativedebugtrace.cpp b/src/declarative/debugger/qdeclarativedebugtrace.cpp index dc4a91920e..5f8a61cc3b 100644 --- a/src/declarative/debugger/qdeclarativedebugtrace.cpp +++ b/src/declarative/debugger/qdeclarativedebugtrace.cpp @@ -299,14 +299,27 @@ void QDeclarativeDebugTrace::sendMessages() QList<QByteArray> messages; for (int i = 0; i < m_data.count(); ++i) messages << m_data.at(i).toByteArray(); - QDeclarativeDebugService::sendMessages(messages); m_data.clear(); //indicate completion QByteArray data; QDataStream ds(&data, QIODevice::WriteOnly); ds << (qint64)-1 << (int)Complete; - sendMessage(data); + messages << data; + + QDeclarativeDebugService::sendMessages(messages); +} + +void QDeclarativeDebugTrace::statusAboutToBeChanged(QDeclarativeDebugService::Status newStatus) +{ + if (status() == newStatus) + return; + + if (status() == Enabled + && m_enabled) { + stopProfilingImpl(); + sendMessages(); + } } void QDeclarativeDebugTrace::messageReceived(const QByteArray &message) |