diff --git a/KREngine/kraken/KRAnimationCurveManager.cpp b/KREngine/kraken/KRAnimationCurveManager.cpp index 548d378..08c6cbe 100644 --- a/KREngine/kraken/KRAnimationCurveManager.cpp +++ b/KREngine/kraken/KRAnimationCurveManager.cpp @@ -50,12 +50,19 @@ void KRAnimationCurveManager::deleteAnimationCurve(KRAnimationCurve *curve) { KRAnimationCurve *KRAnimationCurveManager::loadAnimationCurve(const std::string &name, KRDataBlock *data) { KRAnimationCurve *pAnimationCurve = KRAnimationCurve::Load(*m_pContext, name, data); - m_animationCurves[name] = pAnimationCurve; + if(pAnimationCurve) { + m_animationCurves[name] = pAnimationCurve; + } return pAnimationCurve; } KRAnimationCurve *KRAnimationCurveManager::getAnimationCurve(const std::string &name) { - return m_animationCurves[name]; + unordered_map::iterator itr = m_animationCurves.find(name); + if(itr == m_animationCurves.end()) { + return NULL; // Not found + } else { + return (*itr).second; + } } unordered_map &KRAnimationCurveManager::getAnimationCurves() { @@ -64,6 +71,7 @@ unordered_map &KRAnimationCurveManager::getAnim void KRAnimationCurveManager::addAnimationCurve(KRAnimationCurve *new_animation_curve) { + assert(new_animation_curve != NULL); m_animationCurves[new_animation_curve->getName()] = new_animation_curve; }