summaryrefslogtreecommitdiffstats
path: root/src/render/backend/renderer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/render/backend/renderer.cpp')
-rw-r--r--src/render/backend/renderer.cpp19
1 files changed, 12 insertions, 7 deletions
diff --git a/src/render/backend/renderer.cpp b/src/render/backend/renderer.cpp
index bd8687d5e..a68e5dccd 100644
--- a/src/render/backend/renderer.cpp
+++ b/src/render/backend/renderer.cpp
@@ -462,7 +462,9 @@ void Renderer::setSurfaceExposed(bool exposed)
Render::FrameGraphNode *Renderer::frameGraphRoot() const
{
Q_ASSERT(m_settings);
- return m_nodesManager->frameGraphManager()->lookupNode(m_settings->activeFrameGraphID());
+ if (m_nodesManager && m_nodesManager->frameGraphManager() && m_settings)
+ return m_nodesManager->frameGraphManager()->lookupNode(m_settings->activeFrameGraphID());
+ return nullptr;
}
// QAspectThread context
@@ -1390,12 +1392,6 @@ QVector<Qt3DCore::QAspectJobPtr> Renderer::renderBinJobs()
for (const QAspectJobPtr &bufferJob : bufferJobs)
m_calculateBoundingVolumeJob->addDependency(bufferJob);
- // Set values on pickBoundingVolumeJob
- m_pickBoundingVolumeJob->setFrameGraphRoot(frameGraphRoot());
- m_pickBoundingVolumeJob->setRenderSettings(settings());
- m_pickBoundingVolumeJob->setMouseEvents(pendingPickingEvents());
- m_pickBoundingVolumeJob->setKeyEvents(pendingKeyEvents());
-
m_updateLevelOfDetailJob->setFrameGraphRoot(frameGraphRoot());
// Set dependencies of resource gatherer
for (const QAspectJobPtr &jobPtr : renderBinJobs) {
@@ -1451,6 +1447,15 @@ QVector<Qt3DCore::QAspectJobPtr> Renderer::renderBinJobs()
QAspectJobPtr Renderer::pickBoundingVolumeJob()
{
+ // Set values on pickBoundingVolumeJob
+ RenderSettings *renderSetting = settings();
+ if (renderSetting != nullptr) {
+ m_pickBoundingVolumeJob->setRenderSettings(renderSetting);
+ m_pickBoundingVolumeJob->setFrameGraphRoot(frameGraphRoot());
+ m_pickBoundingVolumeJob->setMouseEvents(pendingPickingEvents());
+ m_pickBoundingVolumeJob->setKeyEvents(pendingKeyEvents());
+ }
+
return m_pickBoundingVolumeJob;
}