aboutsummaryrefslogtreecommitdiffstats
path: root/src/declarative/debugger/qdeclarativedebugtrace.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/declarative/debugger/qdeclarativedebugtrace.cpp')
-rw-r--r--src/declarative/debugger/qdeclarativedebugtrace.cpp17
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)