summaryrefslogtreecommitdiff
path: root/src/declarative/debugger/qdeclarativedebugtrace.cpp
diff options
context:
space:
mode:
authorCharles Yin <charles.yin@nokia.com>2011-11-14 10:35:51 +1000
committerCharles Yin <charles.yin@nokia.com>2011-11-14 10:35:51 +1000
commitfc54db69809a16f613f65a2761fab55d5911b02c (patch)
treea00d9284eb13f81f5b195f8a4c6cfee03edb4f17 /src/declarative/debugger/qdeclarativedebugtrace.cpp
parent35275892ca8a7046451b8e943985dd779fee4794 (diff)
parent2557ff5a940242b398dee65c3c79cec088164e32 (diff)
downloadqtdeclarative-fc54db69809a16f613f65a2761fab55d5911b02c.tar.gz
Merge branch 'master' into animation-refactor
Conflicts: tools/qmlviewer/qdeclarativetester.cpp tools/qmlviewer/qmlruntime.cpp Change-Id: I48f0eb02df27e4b524f45927939b4c257452b0aa
Diffstat (limited to 'src/declarative/debugger/qdeclarativedebugtrace.cpp')
-rw-r--r--src/declarative/debugger/qdeclarativedebugtrace.cpp57
1 files changed, 27 insertions, 30 deletions
diff --git a/src/declarative/debugger/qdeclarativedebugtrace.cpp b/src/declarative/debugger/qdeclarativedebugtrace.cpp
index 7d63849383..b497f6a6ee 100644
--- a/src/declarative/debugger/qdeclarativedebugtrace.cpp
+++ b/src/declarative/debugger/qdeclarativedebugtrace.cpp
@@ -55,7 +55,7 @@ QT_BEGIN_NAMESPACE
Q_GLOBAL_STATIC(QDeclarativeDebugTrace, traceInstance);
// convert to a QByteArray that can be sent to the debug client
-// use of QDataStream can skew results if m_deferredSend == false
+// use of QDataStream can skew results
// (see tst_qdeclarativedebugtrace::trace() benchmark)
QByteArray QDeclarativeDebugData::toByteArray() const
{
@@ -75,7 +75,7 @@ QByteArray QDeclarativeDebugData::toByteArray() const
QDeclarativeDebugTrace::QDeclarativeDebugTrace()
: QDeclarativeDebugService(QLatin1String("CanvasFrameRate")),
- m_enabled(false), m_deferredSend(true), m_messageReceived(false)
+ m_enabled(false), m_messageReceived(false)
{
m_timer.start();
if (status() == Enabled) {
@@ -89,17 +89,15 @@ QDeclarativeDebugTrace::QDeclarativeDebugTrace()
QDeclarativeDebugTrace::~QDeclarativeDebugTrace()
{
- // unregister the callback
- QUnifiedTimer::instance()->registerProfilerCallback( 0 );
}
-void QDeclarativeDebugTrace::addEngine(QDeclarativeEngine * /*engine*/)
+void QDeclarativeDebugTrace::addEngine(QDeclarativeEngine *)
{
// just make sure that the service is properly registered
traceInstance();
}
-void QDeclarativeDebugTrace::removeEngine(QDeclarativeEngine */*engine*/)
+void QDeclarativeDebugTrace::removeEngine(QDeclarativeEngine *)
{
}
@@ -237,11 +235,7 @@ void QDeclarativeDebugTrace::animationFrameImpl(qint64 delta)
void QDeclarativeDebugTrace::processMessage(const QDeclarativeDebugData &message)
{
QMutexLocker locker(&m_mutex);
- if (m_deferredSend
- || (QThread::currentThread() != QCoreApplication::instance()->thread()))
- m_data.append(message);
- else
- sendMessage(message.toByteArray());
+ m_data.append(message);
}
/*
@@ -249,19 +243,17 @@ void QDeclarativeDebugTrace::processMessage(const QDeclarativeDebugData &message
*/
void QDeclarativeDebugTrace::sendMessages()
{
- if (m_deferredSend) {
- QMutexLocker locker(&m_mutex);
- //### this is a suboptimal way to send batched messages
- for (int i = 0; i < m_data.count(); ++i)
- sendMessage(m_data.at(i).toByteArray());
- m_data.clear();
-
- //indicate completion
- QByteArray data;
- QDataStream ds(&data, QIODevice::WriteOnly);
- ds << (qint64)-1 << (int)Complete;
- sendMessage(data);
- }
+ QMutexLocker locker(&m_mutex);
+ //### this is a suboptimal way to send batched messages
+ for (int i = 0; i < m_data.count(); ++i)
+ sendMessage(m_data.at(i).toByteArray());
+ m_data.clear();
+
+ //indicate completion
+ QByteArray data;
+ QDataStream ds(&data, QIODevice::WriteOnly);
+ ds << (qint64)-1 << (int)Complete;
+ sendMessage(data);
}
void QDeclarativeDebugTrace::messageReceived(const QByteArray &message)
@@ -269,15 +261,20 @@ void QDeclarativeDebugTrace::messageReceived(const QByteArray &message)
QByteArray rwData = message;
QDataStream stream(&rwData, QIODevice::ReadOnly);
- stream >> m_enabled;
+ bool enabled;
+ stream >> enabled;
m_messageReceived = true;
- if (!m_enabled) {
- m_enabled = true;
- addEvent(EndTrace);
- m_enabled = false;
- sendMessages();
+ if (m_enabled != enabled) {
+ if (enabled) {
+ m_enabled = true;
+ addEventImpl(StartTrace);
+ } else {
+ addEventImpl(EndTrace);
+ m_enabled = false;
+ sendMessages();
+ }
}
}