diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2017-10-18 09:02:03 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2017-10-18 08:27:41 +0000 |
commit | 6c5f580a0417f68f202a5b207a35c6ce0c8c0b73 (patch) | |
tree | cfd2fb9934a454b7f2e4d9366ef9fc78666494dc | |
parent | d147ddb251c078e7e5d7d6b08b9c2b6001986856 (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.cpp | 15 |
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(); |