From 5a0f3690d08e14af421cf803836567c67c1bd15c Mon Sep 17 00:00:00 2001 From: Mitchell Stokes Date: Fri, 8 Jul 2011 07:31:40 +0000 Subject: BGE Animations: Fixing a crash when animating non-armature objects that didn't have shape keys. --- source/gameengine/Ketsji/BL_Action.cpp | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) (limited to 'source/gameengine/Ketsji/BL_Action.cpp') diff --git a/source/gameengine/Ketsji/BL_Action.cpp b/source/gameengine/Ketsji/BL_Action.cpp index 8ed6a33696a..5aecd2f114f 100644 --- a/source/gameengine/Ketsji/BL_Action.cpp +++ b/source/gameengine/Ketsji/BL_Action.cpp @@ -154,14 +154,16 @@ bool BL_Action::Play(const char* name, BL_DeformableGameObject *obj = (BL_DeformableGameObject*)m_obj; BL_ShapeDeformer *shape_deformer = dynamic_cast(obj->GetDeformer()); - obj->GetShape(m_blendinshape); - - // Now that we have the previous blend shape saved, we can clear out the key to avoid any - // further interference. - KeyBlock *kb; - for (kb=(KeyBlock*)shape_deformer->GetKey()->block.first; kb; kb=(KeyBlock*)kb->next) - kb->curval = 0.f; + if (shape_deformer) + { + obj->GetShape(m_blendinshape); + // Now that we have the previous blend shape saved, we can clear out the key to avoid any + // further interference. + KeyBlock *kb; + for (kb=(KeyBlock*)shape_deformer->GetKey()->block.first; kb; kb=(KeyBlock*)kb->next) + kb->curval = 0.f; + } } // Now that we have an action, we have something we can play -- cgit v1.2.3