From ddbcaf59ec83bccb9a2cbb3024ae3d80a2222f28 Mon Sep 17 00:00:00 2001
From: Ulf Hermann <ulf.hermann@theqtcompany.com>
Date: Mon, 13 Apr 2015 16:37:09 +0200
Subject: [PATCH] Timeline: Check various members of TimelineOverviewRenderer
 for sanity

In some transitional states we could end up without a zoomControl or a
model. Make sure we won't access it then.

Change-Id: I20b2363aae5fd860e97b393a65be20da26cec437
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
---
 src/libs/timeline/timelineoverviewrenderer.cpp | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/libs/timeline/timelineoverviewrenderer.cpp b/src/libs/timeline/timelineoverviewrenderer.cpp
index 765e346ef6f..ab3a09cd5d9 100644
--- a/src/libs/timeline/timelineoverviewrenderer.cpp
+++ b/src/libs/timeline/timelineoverviewrenderer.cpp
@@ -54,6 +54,11 @@ QSGNode *TimelineOverviewRenderer::updatePaintNode(QSGNode *oldNode,
     Q_D(TimelineOverviewRenderer);
     Q_UNUSED(updatePaintNodeData)
 
+    if (!d->model || d->model->isEmpty() || !d->zoomer || d->zoomer->traceDuration() <= 0) {
+        delete oldNode;
+        return 0;
+    }
+
     if (d->modelDirty) {
         delete d->renderState;
         d->renderState = 0;
-- 
GitLab