Fixed Model::SetSequence not handling error

Former-commit-id: 012dde1bd6b68723afc74ae1809804494d5eebb3
This commit is contained in:
Lynix 2012-12-27 22:24:52 +01:00
parent e5650698d2
commit 7d02e5a330
1 changed files with 18 additions and 8 deletions

View File

@ -361,6 +361,7 @@ void NzModel::SetSkinCount(unsigned int skinCount)
bool NzModel::SetSequence(const NzString& sequenceName) 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 NAZARA_3D_SAFE
if (!m_animation) if (!m_animation)
{ {
@ -369,17 +370,17 @@ bool NzModel::SetSequence(const NzString& sequenceName)
} }
#endif #endif
m_currentSequence = m_animation->GetSequence(sequenceName); const NzSequence* currentSequence = m_animation->GetSequence(sequenceName);
if (m_currentSequence) if (!currentSequence)
{
m_nextFrame = m_currentSequence->firstFrame;
return true;
}
else
{ {
NazaraError("Sequence not found"); NazaraError("Sequence not found");
return false; return false;
} }
m_currentSequence = currentSequence;
m_nextFrame = m_currentSequence->firstFrame;
return true;
} }
void NzModel::SetSequence(unsigned int sequenceIndex) void NzModel::SetSequence(unsigned int sequenceIndex)
@ -392,7 +393,16 @@ void NzModel::SetSequence(unsigned int sequenceIndex)
} }
#endif #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; m_nextFrame = m_currentSequence->firstFrame;
} }