summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/animation/backend/handler.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/animation/backend/handler.cpp b/src/animation/backend/handler.cpp
index f87e0a2a2..eef03c41a 100644
--- a/src/animation/backend/handler.cpp
+++ b/src/animation/backend/handler.cpp
@@ -80,7 +80,8 @@ void Handler::setDirty(DirtyFlag flag, Qt3DCore::QNodeId nodeId)
case AnimationClipDirty: {
QMutexLocker lock(&m_mutex);
const auto handle = m_animationClipLoaderManager->lookupHandle(nodeId);
- m_dirtyAnimationClips.push_back(handle);
+ if (!m_dirtyAnimationClips.contains(handle))
+ m_dirtyAnimationClips.push_back(handle);
break;
}
@@ -91,14 +92,16 @@ void Handler::setDirty(DirtyFlag flag, Qt3DCore::QNodeId nodeId)
case ClipAnimatorDirty: {
QMutexLocker lock(&m_mutex);
const auto handle = m_clipAnimatorManager->lookupHandle(nodeId);
- m_dirtyClipAnimators.push_back(handle);
+ if (!m_dirtyClipAnimators.contains(handle))
+ m_dirtyClipAnimators.push_back(handle);
break;
}
case BlendedClipAnimatorDirty: {
QMutexLocker lock(&m_mutex);
const HBlendedClipAnimator handle = m_blendedClipAnimatorManager->lookupHandle(nodeId);
- m_dirtyBlendedAnimators.push_back(handle);
+ if (!m_dirtyBlendedAnimators.contains(handle))
+ m_dirtyBlendedAnimators.push_back(handle);
break;
}
}