diff --git a/src/plugins/qmlprofiler/qmlprofilertracefile.cpp b/src/plugins/qmlprofiler/qmlprofilertracefile.cpp index 710461b6565..87f6e89e441 100644 --- a/src/plugins/qmlprofiler/qmlprofilertracefile.cpp +++ b/src/plugins/qmlprofiler/qmlprofilertracefile.cpp @@ -108,7 +108,7 @@ static QString qmlTypeAsString(Message message, RangeType rangeType) { if (rangeType < MaximumRangeType) return _(RANGE_TYPE_STRINGS[rangeType]); - else if (message != MaximumMessage) + else if (message < MaximumMessage) return _(MESSAGE_STRINGS[message]); else return QString::number((int)rangeType); diff --git a/src/plugins/qmlprofiler/qmltypedevent.cpp b/src/plugins/qmlprofiler/qmltypedevent.cpp index 58d7aae8d75..30bfeb9b705 100644 --- a/src/plugins/qmlprofiler/qmltypedevent.cpp +++ b/src/plugins/qmlprofiler/qmltypedevent.cpp @@ -36,10 +36,15 @@ QDataStream &operator>>(QDataStream &stream, QmlTypedEvent &event) stream >> time >> messageType; + if (messageType < 0 || messageType > MaximumMessage) + messageType = MaximumMessage; + RangeType rangeType = MaximumRangeType; if (!stream.atEnd()) { stream >> subtype; rangeType = static_cast(subtype); + if (rangeType < 0 || rangeType > MaximumRangeType) + rangeType = MaximumRangeType; } else { subtype = -1; } @@ -180,6 +185,7 @@ QDataStream &operator>>(QDataStream &stream, QmlTypedEvent &event) break; } default: + event.event.setNumbers({}); event.type = QmlEventType(static_cast(messageType), MaximumRangeType, subtype); break; }