diff options
author | Mike Krus <mike.krus@kdab.com> | 2019-10-30 08:22:45 +0000 |
---|---|---|
committer | Mike Krus <mike.krus@kdab.com> | 2019-10-30 12:55:54 +0000 |
commit | e5b5505569b409798e382d60b71fbf436952bab9 (patch) | |
tree | b31d1e6ca01842ee5a84ee40f32b6d82b7866d0d /src/render | |
parent | 94895f0270ccb3a2423857e82b78b23581b1c2d8 (diff) |
Set Loading status on QMesh when functor changes
Will then be set to Ready or Error once the job runs
Change-Id: I542fdce9aea08e6e49fdaec645216132a56e7474
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Diffstat (limited to 'src/render')
-rw-r--r-- | src/render/geometry/geometryrenderer.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/render/geometry/geometryrenderer.cpp b/src/render/geometry/geometryrenderer.cpp index 3b460f48c..881c0f66b 100644 --- a/src/render/geometry/geometryrenderer.cpp +++ b/src/render/geometry/geometryrenderer.cpp @@ -139,8 +139,16 @@ void GeometryRenderer::syncFromFrontEnd(const QNode *frontEnd, bool firstTime) if (functorDirty) { m_dirty = true; m_geometryFactory = newFunctor; - if (m_geometryFactory && m_manager != nullptr) + if (m_geometryFactory && m_manager != nullptr) { m_manager->addDirtyGeometryRenderer(peerId()); + + const bool isQMeshFunctor = m_geometryFactory->id() == Qt3DRender::functorTypeId<MeshLoaderFunctor>(); + if (isQMeshFunctor) { + const QMesh *meshNode = static_cast<const QMesh *>(node); + QMeshPrivate *dmeshNode = QMeshPrivate::get(const_cast<QMesh *>(meshNode)); + dmeshNode->setStatus(QMesh::Loading); + } + } } markDirty(AbstractRenderer::GeometryDirty); |