summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2018-05-28 17:19:47 +0200
committerUlf Hermann <ulf.hermann@qt.io>2018-05-29 08:17:40 +0000
commitbfb37643287b83325a7a63630ef19885dac78d7c (patch)
treedfe751530a9280870791e2b07a0f7572966bd433
parent0d64011e4744b40b04d8f7999967700d87332c64 (diff)
downloadqt-creator-bfb37643287b83325a7a63630ef19885dac78d7c.tar.gz
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>
-rw-r--r--src/plugins/qmlprofiler/qmleventtype.cpp41
-rw-r--r--src/plugins/qmlprofiler/tests/qmleventtype_test.cpp1
2 files changed, 22 insertions, 20 deletions
diff --git a/src/plugins/qmlprofiler/qmleventtype.cpp b/src/plugins/qmlprofiler/qmleventtype.cpp
index c8cb6d2ae7..9cb99c0081 100644
--- a/src/plugins/qmlprofiler/qmleventtype.cpp
+++ b/src/plugins/qmlprofiler/qmleventtype.cpp
@@ -28,26 +28,6 @@
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)
{
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,
const QmlEventLocation &location, const QString &data,
const QString displayName) :
diff --git a/src/plugins/qmlprofiler/tests/qmleventtype_test.cpp b/src/plugins/qmlprofiler/tests/qmleventtype_test.cpp
index 8beebaa3f8..366298c6f4 100644
--- a/src/plugins/qmlprofiler/tests/qmleventtype_test.cpp
+++ b/src/plugins/qmlprofiler/tests/qmleventtype_test.cpp
@@ -136,6 +136,7 @@ void QmlEventTypeTest::testStreamOps()
rstream >> type2;
+ QCOMPARE(type.feature(), type2.feature());
QCOMPARE(type.message(), type2.message());
QCOMPARE(type.rangeType(), type2.rangeType());
QCOMPARE(type.detailType(), type2.detailType());