Fix GenericCAO fails to grabing member animated mesh node to prevent it do be deleted...
authorsapier <Sapier at GMX dot net>
Fri, 27 Jun 2014 18:42:20 +0000 (20:42 +0200)
committersapier <Sapier at GMX dot net>
Fri, 27 Jun 2014 18:42:20 +0000 (20:42 +0200)
src/content_cao.cpp

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