diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2017-03-20 16:19:48 +0100 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@qt.io> | 2017-03-23 15:16:14 +0000 |
commit | bdecee9febb1a93e27947f76740215aa9d7b4eb1 (patch) | |
tree | e86eec4c0d6a1077163eb2ef5e6b4022bc4cab87 /src/plugins/qmlprofiler/memoryusagemodel.cpp | |
parent | 572ea47e97f7bfc2d2e77cc3585f449f4ca889ea (diff) |
QmlProfiler: Add some sanity checks to the various models
If we pop an event from the stack, then it should be the same type we
pushed earlier.
Change-Id: If4389cb57fa8996b3772fefca92d27c33dc35c65
Task-number: QTCREATORBUG-17885
Reviewed-by: hjk <hjk@qt.io>
Diffstat (limited to 'src/plugins/qmlprofiler/memoryusagemodel.cpp')
-rw-r--r-- | src/plugins/qmlprofiler/memoryusagemodel.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/plugins/qmlprofiler/memoryusagemodel.cpp b/src/plugins/qmlprofiler/memoryusagemodel.cpp index b4bd0d87cec..30d0da85c77 100644 --- a/src/plugins/qmlprofiler/memoryusagemodel.cpp +++ b/src/plugins/qmlprofiler/memoryusagemodel.cpp @@ -135,12 +135,14 @@ void MemoryUsageModel::loadEvent(const QmlEvent &event, const QmlEventType &type { if (type.message() != MemoryAllocation) { if (type.rangeType() != MaximumRangeType) { + m_continuation = ContinueNothing; if (event.rangeStage() == RangeStart) m_rangeStack.push(RangeStackFrame(event.typeIndex(), event.timestamp())); - else if (event.rangeStage() == RangeEnd) + else if (event.rangeStage() == RangeEnd) { + QTC_ASSERT(!m_rangeStack.isEmpty(), return); + QTC_ASSERT(m_rangeStack.top().originTypeIndex == event.typeIndex(), return); m_rangeStack.pop(); - - m_continuation = ContinueNothing; + } } return; } |