aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick3d
diff options
context:
space:
mode:
Diffstat (limited to 'src/quick3d')
-rw-r--r--src/quick3d/qquick3dscenerenderer.cpp7
-rw-r--r--src/quick3d/qquick3dtexturedata.cpp2
2 files changed, 7 insertions, 2 deletions
diff --git a/src/quick3d/qquick3dscenerenderer.cpp b/src/quick3d/qquick3dscenerenderer.cpp
index f414f3be..072bde05 100644
--- a/src/quick3d/qquick3dscenerenderer.cpp
+++ b/src/quick3d/qquick3dscenerenderer.cpp
@@ -980,7 +980,12 @@ void QQuick3DSceneRenderer::releaseCachedResources()
std::optional<QSSGRenderRay> QQuick3DSceneRenderer::getRayFromViewportPos(const QPointF &pos)
{
- if (!m_layer || !m_layer->renderedCamera)
+ if (!m_layer)
+ return std::nullopt;
+
+ QMutexLocker locker(&m_layer->renderedCameraMutex);
+
+ if (!m_layer->renderedCamera)
return std::nullopt;
const QVector2D viewportSize(m_surfaceSize.width(), m_surfaceSize.height());
diff --git a/src/quick3d/qquick3dtexturedata.cpp b/src/quick3d/qquick3dtexturedata.cpp
index 6471909d..cc0a192d 100644
--- a/src/quick3d/qquick3dtexturedata.cpp
+++ b/src/quick3d/qquick3dtexturedata.cpp
@@ -437,7 +437,7 @@ QSSGRenderGraphObject *QQuick3DTextureData::updateSpatialNode(QSSGRenderGraphObj
changed = true;
}
- if (d->hasTransparency != textureData->hasTransparancy()) {
+ if (d->hasTransparency != textureData->hasTransparency()) {
textureData->setHasTransparency(d->hasTransparency);
changed = true;
}