void QmlProfilerRangeModel::finalize() { if (!m_stack.isEmpty()) { qWarning() << "End times for some events are missing."; const qint64 endTime = modelManager()->traceEnd(); do { int index = m_stack.pop(); insertEnd(index, endTime - startTime(index)); } while (!m_stack.isEmpty()); } // compute range nesting computeNesting(); // compute nestingLevel - nonexpanded computeNestingContracted(); // compute nestingLevel - expanded computeExpandedLevels(); if (supportsBindingLoops()) findBindingLoops(); QmlProfilerTimelineModel::finalize(); }
QList<const Timeline::TimelineRenderPass *> QmlProfilerRangeModel::supportedRenderPasses() const { if (supportsBindingLoops()) { QList<const Timeline::TimelineRenderPass *> passes; passes << Timeline::TimelineItemsRenderPass::instance() << QmlProfilerBindingLoopsRenderPass::instance() << Timeline::TimelineSelectionRenderPass::instance() << Timeline::TimelineNotesRenderPass::instance(); return passes; } else { return QmlProfilerTimelineModel::supportedRenderPasses(); } }