Fix GenericCAO fails to grabing member animated mesh node to prevent it do be deleted to early

This commit is contained in:
sapier 2014-06-27 20:42:20 +02:00
parent ed2c8ba9c5
commit f383766dbf
1 changed files with 2 additions and 0 deletions

View File

@ -756,6 +756,7 @@ void GenericCAO::removeFromScene(bool permanent)
if(m_animated_meshnode) if(m_animated_meshnode)
{ {
m_animated_meshnode->remove(); m_animated_meshnode->remove();
m_animated_meshnode->drop();
m_animated_meshnode = NULL; m_animated_meshnode = NULL;
} }
if(m_spritenode) if(m_spritenode)
@ -879,6 +880,7 @@ void GenericCAO::addToScene(scene::ISceneManager *smgr, ITextureSource *tsrc,
if(mesh) if(mesh)
{ {
m_animated_meshnode = smgr->addAnimatedMeshSceneNode(mesh, NULL); m_animated_meshnode = smgr->addAnimatedMeshSceneNode(mesh, NULL);
m_animated_meshnode->grab();
mesh->drop(); // The scene node took hold of it mesh->drop(); // The scene node took hold of it
m_animated_meshnode->animateJoints(); // Needed for some animations m_animated_meshnode->animateJoints(); // Needed for some animations
m_animated_meshnode->setScale(v3f(m_prop.visual_size.X, m_animated_meshnode->setScale(v3f(m_prop.visual_size.X,