summaryrefslogtreecommitdiffstats
path: root/src/quick3d/quick3dscene2d/items/scene2d.cpp
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2018-02-14 11:55:27 +0000
committerThe Qt Project <gerrit-noreply@qt-project.org>2018-02-14 11:56:26 +0000
commita400bbe50deb98f5d924cd4f6562e1b868e73248 (patch)
treea636e2224d3677aca2406bac5d835100610500e3 /src/quick3d/quick3dscene2d/items/scene2d.cpp
parentd360e16fdcab2197924e2505695c412bcaadbbe0 (diff)
parent1382b0cfb336cc04924d61b46f0b69dadb1c3d39 (diff)
Merge "Merge remote-tracking branch 'origin/5.10.1' into 5.11" into refs/staging/5.11v5.11.0-alpha1
Diffstat (limited to 'src/quick3d/quick3dscene2d/items/scene2d.cpp')
-rw-r--r--src/quick3d/quick3dscene2d/items/scene2d.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/quick3d/quick3dscene2d/items/scene2d.cpp b/src/quick3d/quick3dscene2d/items/scene2d.cpp
index 4abc7cf42..1147abf68 100644
--- a/src/quick3d/quick3dscene2d/items/scene2d.cpp
+++ b/src/quick3d/quick3dscene2d/items/scene2d.cpp
@@ -123,7 +123,7 @@ Scene2D::Scene2D()
, m_mouseEnabled(true)
, m_renderPolicy(Qt3DRender::Quick::QScene2D::Continuous)
{
- renderThreadClientCount->fetchAndAddAcquire(1);
+
}
Scene2D::~Scene2D()
@@ -146,6 +146,8 @@ void Scene2D::initializeSharedObject()
return;
}
+ renderThreadClientCount->fetchAndAddAcquire(1);
+
renderThread->setObjectName(QStringLiteral("Scene2D::renderThread"));
m_renderThread = renderThread;
m_sharedObject->m_renderThread = m_renderThread;
@@ -413,10 +415,11 @@ void Scene2D::cleanup()
m_sharedObject->wake();
m_sharedObject = nullptr;
}
-
- renderThreadClientCount->fetchAndSubAcquire(1);
- if (renderThreadClientCount->load() == 0)
- renderThread->quit();
+ if (m_renderThread) {
+ renderThreadClientCount->fetchAndSubAcquire(1);
+ if (renderThreadClientCount->load() == 0)
+ renderThread->quit();
+ }
}