diff options
author | Sean Harmer <sean.harmer@kdab.com> | 2017-09-12 12:10:03 +0100 |
---|---|---|
committer | Sean Harmer <sean.harmer@kdab.com> | 2017-09-12 12:39:05 +0100 |
commit | 3f03499bf8a7cf3c3f8d19a020179c1205980bde (patch) | |
tree | 518b0ef3fb1b31d3856f43124150ef41acb8c1aa /src/animation/backend/handler.cpp | |
parent | 8a4b9ebadb9e63ae367694f04786c7faf6306f27 (diff) | |
parent | bf5fd7a78c91e29332ce70ad844b756150f32f18 (diff) |
Merge branch '5.9' into 5.10
Change-Id: Id6a3d4ec579a2f2a2e559c22a2293d0e184f0bdf
Diffstat (limited to 'src/animation/backend/handler.cpp')
-rw-r--r-- | src/animation/backend/handler.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/animation/backend/handler.cpp b/src/animation/backend/handler.cpp index b8e89703e..071343791 100644 --- a/src/animation/backend/handler.cpp +++ b/src/animation/backend/handler.cpp @@ -77,24 +77,28 @@ void Handler::setDirty(DirtyFlag flag, Qt3DCore::QNodeId nodeId) { switch (flag) { case AnimationClipDirty: { + QMutexLocker lock(&m_mutex); const auto handle = m_animationClipLoaderManager->lookupHandle(nodeId); m_dirtyAnimationClips.push_back(handle); break; } case ChannelMappingsDirty: { + QMutexLocker lock(&m_mutex); const auto handle = m_channelMapperManager->lookupHandle(nodeId); m_dirtyChannelMappers.push_back(handle); break; } case ClipAnimatorDirty: { + QMutexLocker lock(&m_mutex); const auto handle = m_clipAnimatorManager->lookupHandle(nodeId); m_dirtyClipAnimators.push_back(handle); break; } case BlendedClipAnimatorDirty: { + QMutexLocker lock(&m_mutex); const HBlendedClipAnimator handle = m_blendedClipAnimatorManager->lookupHandle(nodeId); m_dirtyBlendedAnimators.push_back(handle); break; @@ -174,6 +178,8 @@ QVector<Qt3DCore::QAspectJobPtr> Handler::jobsToExecute(qint64 time) QVector<Qt3DCore::QAspectJobPtr> jobs; + QMutexLocker lock(&m_mutex); + // If there are any dirty animation clips that need loading, // queue up a job for them if (!m_dirtyAnimationClips.isEmpty()) { |