diff options
author | Liang Qi <liang.qi@qt.io> | 2018-02-14 11:55:27 +0000 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2018-02-14 11:56:26 +0000 |
commit | a400bbe50deb98f5d924cd4f6562e1b868e73248 (patch) | |
tree | a636e2224d3677aca2406bac5d835100610500e3 /src/quick3d/quick3dscene2d/items/scene2d.cpp | |
parent | d360e16fdcab2197924e2505695c412bcaadbbe0 (diff) | |
parent | 1382b0cfb336cc04924d61b46f0b69dadb1c3d39 (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.cpp | 13 |
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(); + } } |