aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qmltooling/qmldbg_profiler/qqmlprofilerservice.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/qmltooling/qmldbg_profiler/qqmlprofilerservice.cpp')
-rw-r--r--src/plugins/qmltooling/qmldbg_profiler/qqmlprofilerservice.cpp15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/plugins/qmltooling/qmldbg_profiler/qqmlprofilerservice.cpp b/src/plugins/qmltooling/qmldbg_profiler/qqmlprofilerservice.cpp
index fc2ba1e094..9e1c8af3e6 100644
--- a/src/plugins/qmltooling/qmldbg_profiler/qqmlprofilerservice.cpp
+++ b/src/plugins/qmltooling/qmldbg_profiler/qqmlprofilerservice.cpp
@@ -342,12 +342,15 @@ void QQmlProfilerServiceImpl::sendMessages()
while (!m_startTimes.empty()) {
QQmlAbstractProfilerAdapter *first = m_startTimes.begin().value();
m_startTimes.erase(m_startTimes.begin());
- if (!m_startTimes.empty()) {
- qint64 next = first->sendMessages(m_startTimes.begin().key(), messages);
- if (next != -1)
- m_startTimes.insert(next, first);
- } else {
- first->sendMessages(std::numeric_limits<qint64>::max(), messages);
+ qint64 next = first->sendMessages(m_startTimes.isEmpty() ?
+ std::numeric_limits<qint64>::max() :
+ m_startTimes.begin().key(), messages);
+ if (next != -1)
+ m_startTimes.insert(next, first);
+
+ if (messages.length() >= QQmlAbstractProfilerAdapter::s_numMessagesPerBatch) {
+ emit messagesToClient(name(), messages);
+ messages.clear();
}
}