summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2017-10-18 09:02:03 +0200
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2017-10-18 08:27:41 +0000
commit6c5f580a0417f68f202a5b207a35c6ce0c8c0b73 (patch)
treecfd2fb9934a454b7f2e4d9366ef9fc78666494dc
parentd147ddb251c078e7e5d7d6b08b9c2b6001986856 (diff)
tst_FilterCompatibleTechniqueJob: Fix crash on Open GL context creation failure
Add a few pointer checks. This allows for the test to be blacklisted instead of marked as insignificant. Task-number: QTBUG-63639 Change-Id: Ide9216226d880909a600c3becc0d6ca7259e5a69 Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
-rw-r--r--tests/auto/render/filtercompatibletechniquejob/tst_filtercompatibletechniquejob.cpp15
1 files changed, 12 insertions, 3 deletions
diff --git a/tests/auto/render/filtercompatibletechniquejob/tst_filtercompatibletechniquejob.cpp b/tests/auto/render/filtercompatibletechniquejob/tst_filtercompatibletechniquejob.cpp
index c26394c69..83e816861 100644
--- a/tests/auto/render/filtercompatibletechniquejob/tst_filtercompatibletechniquejob.cpp
+++ b/tests/auto/render/filtercompatibletechniquejob/tst_filtercompatibletechniquejob.cpp
@@ -85,7 +85,8 @@ public:
Qt3DRender::Render::NodeManagers *nodeManagers() const
{
- return d_func()->m_renderer->nodeManagers();
+ return d_func()->m_renderer
+ ? d_func()->m_renderer->nodeManagers() : nullptr;
}
void initializeRenderer()
@@ -198,7 +199,11 @@ private Q_SLOTS:
Qt3DRender::TestAspect testAspect(buildTestScene());
// WHEN
- backendFilterCompatibleTechniqueJob.setManager(testAspect.nodeManagers()->techniqueManager());
+ Qt3DRender::Render::NodeManagers *nodeManagers = testAspect.nodeManagers();
+ QVERIFY(nodeManagers);
+ Qt3DRender::Render::TechniqueManager *techniqueManager = nodeManagers->techniqueManager();
+ QVERIFY(techniqueManager);
+ backendFilterCompatibleTechniqueJob.setManager(techniqueManager);
backendFilterCompatibleTechniqueJob.setRenderer(testAspect.renderer());
testAspect.initializeRenderer();
testAspect.renderer()->shutdown();
@@ -223,7 +228,11 @@ private Q_SLOTS:
Qt3DRender::TestAspect testAspect(buildTestScene());
// WHEN
- backendFilterCompatibleTechniqueJob.setManager(testAspect.nodeManagers()->techniqueManager());
+ Qt3DRender::Render::NodeManagers *nodeManagers = testAspect.nodeManagers();
+ QVERIFY(nodeManagers);
+ Qt3DRender::Render::TechniqueManager *techniqueManager = nodeManagers->techniqueManager();
+ QVERIFY(techniqueManager);
+ backendFilterCompatibleTechniqueJob.setManager(techniqueManager);
backendFilterCompatibleTechniqueJob.setRenderer(testAspect.renderer());
testAspect.initializeRenderer();