diff --git a/src/Nazara/3D/Model.cpp b/src/Nazara/3D/Model.cpp index daab502ab..0faa2dc88 100644 --- a/src/Nazara/3D/Model.cpp +++ b/src/Nazara/3D/Model.cpp @@ -361,6 +361,7 @@ void NzModel::SetSkinCount(unsigned int skinCount) bool NzModel::SetSequence(const NzString& sequenceName) { + ///TODO: Rendre cette erreur "safe" avec le nouveau système de gestions d'erreur (No-log) #if NAZARA_3D_SAFE if (!m_animation) { @@ -369,17 +370,17 @@ bool NzModel::SetSequence(const NzString& sequenceName) } #endif - m_currentSequence = m_animation->GetSequence(sequenceName); - if (m_currentSequence) - { - m_nextFrame = m_currentSequence->firstFrame; - return true; - } - else + const NzSequence* currentSequence = m_animation->GetSequence(sequenceName); + if (!currentSequence) { NazaraError("Sequence not found"); return false; } + + m_currentSequence = currentSequence; + m_nextFrame = m_currentSequence->firstFrame; + + return true; } void NzModel::SetSequence(unsigned int sequenceIndex) @@ -392,7 +393,16 @@ void NzModel::SetSequence(unsigned int sequenceIndex) } #endif - m_currentSequence = m_animation->GetSequence(sequenceIndex); + const NzSequence* currentSequence = m_animation->GetSequence(sequenceIndex); + #if NAZARA_3D_SAFE + if (!currentSequence) + { + NazaraError("Sequence not found"); + return; + } + #endif + + m_currentSequence = currentSequence; m_nextFrame = m_currentSequence->firstFrame; }