1
0
forked from 0ad/0ad

Check for m_Unit before using it as it is done below.

That would break autostart beacause m_Unit is not set.
Noticed by: Mimo
Fix af2abb8cbf

This was SVN commit r21375.
This commit is contained in:
Stan 2018-02-25 14:58:31 +00:00
parent f75a67e8c6
commit a4bdd943c1

View File

@ -447,15 +447,17 @@ public:
m_AnimDesync = fixed::FromInt(1)/20; // TODO: make this an argument
m_AnimSyncRepeatTime = fixed::Zero();
m_AnimSyncOffsetTime = fixed::Zero();
CmpPtr<ICmpSound> cmpSound(GetSimContext(), m_Unit->GetID());
if(cmpSound)
m_SoundGroup = cmpSound->GetSoundGroup(wstring_from_utf8(m_AnimName));
SetVariant("animation", m_AnimName);
if (m_Unit && m_Unit->GetAnimation())
m_Unit->GetAnimation()->SetAnimationState(m_AnimName, m_AnimOnce, m_AnimSpeed.ToFloat(), m_AnimDesync.ToFloat(), m_SoundGroup.c_str());
if (!m_Unit || !m_Unit->GetAnimation() || !m_Unit->GetID())
return;
CmpPtr<ICmpSound> cmpSound(GetSimContext(), m_Unit->GetID());
if (cmpSound)
m_SoundGroup = cmpSound->GetSoundGroup(wstring_from_utf8(m_AnimName));
m_Unit->GetAnimation()->SetAnimationState(m_AnimName, m_AnimOnce, m_AnimSpeed.ToFloat(), m_AnimDesync.ToFloat(), m_SoundGroup.c_str());
}
virtual void ReplaceMoveAnimation(const std::string& name, const std::string& replace)