diff options
author | Thiago Macieira <thiago.macieira@intel.com> | 2016-09-29 16:05:52 -0700 |
---|---|---|
committer | Thiago Macieira <thiago.macieira@intel.com> | 2016-10-23 21:48:31 +0000 |
commit | a754b0620f3f153b93f30ab28cf184cdfd11d005 (patch) | |
tree | d858b69b466a4dee21337c13961e8fddecaef40a /src/plugins/qmltooling | |
parent | 161473721dcdfd45e6618457a2c0a6e6b10bfada (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')
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); |