diff options
author | Charles Yin <charles.yin@nokia.com> | 2011-11-14 10:35:51 +1000 |
---|---|---|
committer | Charles Yin <charles.yin@nokia.com> | 2011-11-14 10:35:51 +1000 |
commit | fc54db69809a16f613f65a2761fab55d5911b02c (patch) | |
tree | a00d9284eb13f81f5b195f8a4c6cfee03edb4f17 /src/declarative/debugger/qdeclarativedebugtrace.cpp | |
parent | 35275892ca8a7046451b8e943985dd779fee4794 (diff) | |
parent | 2557ff5a940242b398dee65c3c79cec088164e32 (diff) | |
download | qtdeclarative-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.cpp | 57 |
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(); + } } } |