diff options
Diffstat (limited to 'src/render/renderstates/renderstatecollection.cpp')
-rw-r--r-- | src/render/renderstates/renderstatecollection.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/render/renderstates/renderstatecollection.cpp b/src/render/renderstates/renderstatecollection.cpp index 17e794820..f9a7cb305 100644 --- a/src/render/renderstates/renderstatecollection.cpp +++ b/src/render/renderstates/renderstatecollection.cpp @@ -55,11 +55,13 @@ RenderStateCollection::~RenderStateCollection() void RenderStateCollection::setDirty(bool dirty) { + QMutexLocker lock(&m_mutex); m_dirty = dirty; } QVector<RenderStateNode*> RenderStateCollection::renderStates(RenderStateManager *manager) const { + QMutexLocker lock(&m_mutex); if (m_dirty) { m_renderStateNodes.clear(); @@ -79,11 +81,13 @@ QVector<RenderStateNode*> RenderStateCollection::renderStates(RenderStateManager bool RenderStateCollection::hasRenderStates() const { + QMutexLocker lock(&m_mutex); return !m_renderStateIds.empty(); } void RenderStateCollection::appendRenderState(Qt3DCore::QNodeId renderStateId) { + QMutexLocker lock(&m_mutex); if (!m_renderStateIds.contains(renderStateId)) { m_renderStateIds.append(renderStateId); m_dirty = true; @@ -92,6 +96,7 @@ void RenderStateCollection::appendRenderState(Qt3DCore::QNodeId renderStateId) void RenderStateCollection::removeRenderState(Qt3DCore::QNodeId renderStateId) { + QMutexLocker lock(&m_mutex); if (m_renderStateIds.removeAll(renderStateId) > 0) { m_dirty = true; } |