diff --git a/src/plugins/qmlprofiler/qmlprofilerbindingloopsrenderpass.cpp b/src/plugins/qmlprofiler/qmlprofilerbindingloopsrenderpass.cpp index 758f1acbcec..1bf26446b44 100644 --- a/src/plugins/qmlprofiler/qmlprofilerbindingloopsrenderpass.cpp +++ b/src/plugins/qmlprofiler/qmlprofilerbindingloopsrenderpass.cpp @@ -159,6 +159,9 @@ Timeline::TimelineRenderPass::State *QmlProfilerBindingLoopsRenderPass::update( const QmlProfilerRangeModel *model = qobject_cast( renderer->model()); + if (!model || indexFrom < 0 || indexTo > model->count()) + return oldState; + BindingLoopsRenderPassState *state; if (oldState == 0) { state = new BindingLoopsRenderPassState; @@ -170,12 +173,6 @@ Timeline::TimelineRenderPass::State *QmlProfilerBindingLoopsRenderPass::update( state = static_cast(oldState); } - if (!model) - return state; - - if (indexFrom < 0 || indexTo > model->count()) - return state; - if (state->indexFrom < state->indexTo) { if (indexFrom < state->indexFrom) { for (int i = indexFrom; i < state->indexFrom; diff --git a/src/plugins/qmlprofiler/timelineitemsrenderpass.cpp b/src/plugins/qmlprofiler/timelineitemsrenderpass.cpp index 98d2ef4caf8..adf4769e7a1 100644 --- a/src/plugins/qmlprofiler/timelineitemsrenderpass.cpp +++ b/src/plugins/qmlprofiler/timelineitemsrenderpass.cpp @@ -280,6 +280,10 @@ TimelineRenderPass::State *TimelineItemsRenderPass::update(const TimelineAbstrac qreal spacing) const { Q_UNUSED(stateChanged); + const TimelineModel *model = renderer->model(); + if (!model || indexFrom < 0 || indexTo > model->count()) + return oldState; + QColor selectionColor = (renderer->selectionLocked() ? QColor(96,0,255) : QColor(Qt::blue)).lighter(130); @@ -289,7 +293,7 @@ TimelineRenderPass::State *TimelineItemsRenderPass::update(const TimelineAbstrac else state = static_cast(oldState); - const TimelineModel *model = renderer->model(); + float selectedItem = renderer->selectedItem() == -1 ? -1 : model->selectionId(renderer->selectedItem()); @@ -306,9 +310,6 @@ TimelineRenderPass::State *TimelineItemsRenderPass::update(const TimelineAbstrac state->m_collapsedRows << new QSGNode; } - if (indexFrom < 0 || indexTo > model->count()) - return state; - if (state->indexFrom < state->indexTo) { if (indexFrom < state->indexFrom) { for (int i = indexFrom; i < state->indexFrom; diff --git a/src/plugins/qmlprofiler/timelinenotesrenderpass.cpp b/src/plugins/qmlprofiler/timelinenotesrenderpass.cpp index 0dba68828f1..004b9eb2169 100644 --- a/src/plugins/qmlprofiler/timelinenotesrenderpass.cpp +++ b/src/plugins/qmlprofiler/timelinenotesrenderpass.cpp @@ -109,6 +109,9 @@ TimelineRenderPass::State *TimelineNotesRenderPass::update(const TimelineAbstrac const TimelineNotesModel *notes = renderer->notes(); const TimelineModel *model = renderer->model(); + if (!model || !notes) + return oldState; + TimelineNotesRenderPassState *state; if (oldState == 0) { state = new TimelineNotesRenderPassState(model->expandedRowCount()); diff --git a/src/plugins/qmlprofiler/timelineselectionrenderpass.cpp b/src/plugins/qmlprofiler/timelineselectionrenderpass.cpp index eb5cdb5b040..6fbe69d3012 100644 --- a/src/plugins/qmlprofiler/timelineselectionrenderpass.cpp +++ b/src/plugins/qmlprofiler/timelineselectionrenderpass.cpp @@ -61,6 +61,10 @@ TimelineRenderPass::State *TimelineSelectionRenderPass::update( { Q_UNUSED(stateChanged); + const TimelineModel *model = renderer->model(); + if (!model) + return oldState; + TimelineSelectionRenderPassState *state; if (oldState == 0) { @@ -71,7 +75,6 @@ TimelineRenderPass::State *TimelineSelectionRenderPass::update( state = static_cast(oldState); } - const TimelineModel *model = renderer->model(); QSGSimpleRectNode *selectionNode = static_cast(model->expanded() ? state->m_expandedOverlay : state->m_collapsedOverlay);