aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qmltooling
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@intel.com>2016-09-29 16:05:52 -0700
committerThiago Macieira <thiago.macieira@intel.com>2016-10-23 21:48:31 +0000
commita754b0620f3f153b93f30ab28cf184cdfd11d005 (patch)
treed858b69b466a4dee21337c13961e8fddecaef40a /src/plugins/qmltooling
parent161473721dcdfd45e6618457a2c0a6e6b10bfada (diff)
Cast enums to int before streaming into QDataStream
They are decoded as ints, as in QPacket &operator>>(QPacket &ds, QmlObjectProperty &data) { int type; ds >> type >> data.name >> data.value >> data.valueTypeName >> data.binding >> data.hasNotifySignal; data.type = (QmlObjectProperty::Type)type; return ds; } So we should serialize the same, since the required operator<< and >> don't exist. Change-Id: I33dc971f005a4848bb8ffffd1478edcf2e916dfc Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Diffstat (limited to 'src/plugins/qmltooling')
-rw-r--r--src/plugins/qmltooling/qmldbg_debugger/qdebugmessageservice.cpp2
-rw-r--r--src/plugins/qmltooling/qmldbg_profiler/qqmlprofileradapter.cpp2
-rw-r--r--src/plugins/qmltooling/qmldbg_profiler/qv4profileradapter.cpp10
3 files changed, 7 insertions, 7 deletions
diff --git a/src/plugins/qmltooling/qmldbg_debugger/qdebugmessageservice.cpp b/src/plugins/qmltooling/qmldbg_debugger/qdebugmessageservice.cpp
index 31873f7915..b0f59717ac 100644
--- a/src/plugins/qmltooling/qmldbg_debugger/qdebugmessageservice.cpp
+++ b/src/plugins/qmltooling/qmldbg_debugger/qdebugmessageservice.cpp
@@ -70,7 +70,7 @@ void QDebugMessageServiceImpl::sendDebugMessage(QtMsgType type,
//We just eavesdrop and forward the messages to a port
//only if a client is connected to it.
QQmlDebugPacket ws;
- ws << QByteArray("MESSAGE") << type << buf.toUtf8();
+ ws << QByteArray("MESSAGE") << int(type) << buf.toUtf8();
ws << QByteArray(ctxt.file) << ctxt.line << QByteArray(ctxt.function);
ws << QByteArray(ctxt.category) << timer.nsecsElapsed();
diff --git a/src/plugins/qmltooling/qmldbg_profiler/qqmlprofileradapter.cpp b/src/plugins/qmltooling/qmldbg_profiler/qqmlprofileradapter.cpp
index a4320098c0..90e817e2fc 100644
--- a/src/plugins/qmltooling/qmldbg_profiler/qqmlprofileradapter.cpp
+++ b/src/plugins/qmltooling/qmldbg_profiler/qqmlprofileradapter.cpp
@@ -101,7 +101,7 @@ static void qQmlProfilerDataToByteArrays(const QQmlProfilerData &d,
ds << static_cast<qint64>(d.locationId);
messages.append(ds.squeezedData());
ds.clear();
- ds << d.time << QQmlProfilerDefinitions::RangeData
+ ds << d.time << int(QQmlProfilerDefinitions::RangeData)
<< static_cast<quint32>(d.detailType)
<< (i->location.sourceFile.isEmpty() ? i->url.toString() :
i->location.sourceFile);
diff --git a/src/plugins/qmltooling/qmldbg_profiler/qv4profileradapter.cpp b/src/plugins/qmltooling/qmldbg_profiler/qv4profileradapter.cpp
index eee1dd7eae..eae5e0a795 100644
--- a/src/plugins/qmltooling/qmldbg_profiler/qv4profileradapter.cpp
+++ b/src/plugins/qmltooling/qmldbg_profiler/qv4profileradapter.cpp
@@ -76,7 +76,7 @@ qint64 QV4ProfilerAdapter::appendMemoryEvents(qint64 until, QList<QByteArray> &m
while (memoryData.length() > m_memoryPos && memoryData[m_memoryPos].timestamp <= until) {
const QV4::Profiling::MemoryAllocationProperties &props = memoryData[m_memoryPos];
- d << props.timestamp << MemoryAllocation << props.type << props.size;
+ d << props.timestamp << int(MemoryAllocation) << int(props.type) << props.size;
++m_memoryPos;
messages.append(d.squeezedData());
d.clear();
@@ -120,7 +120,7 @@ qint64 QV4ProfilerAdapter::sendMessages(qint64 until, QList<QByteArray> &message
return finalizeMessages(until, messages, m_stack.top(), d);
appendMemoryEvents(m_stack.top(), messages, d);
- d << m_stack.pop() << RangeEnd << Javascript;
+ d << m_stack.pop() << int(RangeEnd) << int(Javascript);
messages.append(d.squeezedData());
d.clear();
}
@@ -134,19 +134,19 @@ qint64 QV4ProfilerAdapter::sendMessages(qint64 until, QList<QByteArray> &message
appendMemoryEvents(props.start, messages, d);
auto location = m_functionLocations.find(props.id);
- d << props.start << RangeStart << Javascript;
+ d << props.start << int(RangeStart) << int(Javascript);
if (trackLocations)
d << static_cast<qint64>(props.id);
if (location != m_functionLocations.end()) {
messages.push_back(d.squeezedData());
d.clear();
- d << props.start << RangeLocation << Javascript << location->file << location->line
+ d << props.start << int(RangeLocation) << int(Javascript) << location->file << location->line
<< location->column;
if (trackLocations)
d << static_cast<qint64>(props.id);
messages.push_back(d.squeezedData());
d.clear();
- d << props.start << RangeData << Javascript << location->name;
+ d << props.start << int(RangeData) << int(Javascript) << location->name;
if (trackLocations) {
d << static_cast<qint64>(props.id);