QmlProfiler: Set the feature on Qml types when loading from qzt

Otherwise they are all invalid and nothing is loaded.

Change-Id: I12c71b231c81ce961754c1de67766010f00dd8d5
Task-number: QTCREATORBUG-20508
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This commit is contained in:
Ulf Hermann
2018-05-28 17:19:47 +02:00
parent 0d64011e47
commit bfb3764328
2 changed files with 22 additions and 20 deletions

View File

@@ -28,26 +28,6 @@
namespace QmlProfiler { namespace QmlProfiler {
QDataStream &operator>>(QDataStream &stream, QmlEventType &type)
{
quint8 message;
quint8 rangeType;
QString displayName;
stream >> displayName >> type.m_data >> type.m_location >> message >> rangeType
>> type.m_detailType;
type.setDisplayName(displayName);
type.m_message = static_cast<Message>(message);
type.m_rangeType = static_cast<RangeType>(rangeType);
return stream;
}
QDataStream &operator<<(QDataStream &stream, const QmlEventType &type)
{
return stream << type.displayName() << type.m_data << type.m_location
<< static_cast<quint8>(type.m_message) << static_cast<quint8>(type.m_rangeType)
<< type.m_detailType;
}
static ProfileFeature qmlFeatureFromType(Message message, RangeType rangeType, int detailType) static ProfileFeature qmlFeatureFromType(Message message, RangeType rangeType, int detailType)
{ {
switch (message) { switch (message) {
@@ -75,6 +55,27 @@ static ProfileFeature qmlFeatureFromType(Message message, RangeType rangeType, i
} }
} }
QDataStream &operator>>(QDataStream &stream, QmlEventType &type)
{
quint8 message;
quint8 rangeType;
QString displayName;
stream >> displayName >> type.m_data >> type.m_location >> message >> rangeType
>> type.m_detailType;
type.setDisplayName(displayName);
type.m_message = static_cast<Message>(message);
type.m_rangeType = static_cast<RangeType>(rangeType);
type.setFeature(qmlFeatureFromType(type.m_message, type.m_rangeType, type.m_detailType));
return stream;
}
QDataStream &operator<<(QDataStream &stream, const QmlEventType &type)
{
return stream << type.displayName() << type.m_data << type.m_location
<< static_cast<quint8>(type.m_message) << static_cast<quint8>(type.m_rangeType)
<< type.m_detailType;
}
QmlEventType::QmlEventType(Message message, RangeType rangeType, int detailType, QmlEventType::QmlEventType(Message message, RangeType rangeType, int detailType,
const QmlEventLocation &location, const QString &data, const QmlEventLocation &location, const QString &data,
const QString displayName) : const QString displayName) :

View File

@@ -136,6 +136,7 @@ void QmlEventTypeTest::testStreamOps()
rstream >> type2; rstream >> type2;
QCOMPARE(type.feature(), type2.feature());
QCOMPARE(type.message(), type2.message()); QCOMPARE(type.message(), type2.message());
QCOMPARE(type.rangeType(), type2.rangeType()); QCOMPARE(type.rangeType(), type2.rangeType());
QCOMPARE(type.detailType(), type2.detailType()); QCOMPARE(type.detailType(), type2.detailType());