diff options
author | Perttu Ahola <celeron55@gmail.com> | 2014-01-06 13:24:06 +0200 |
---|---|---|
committer | Perttu Ahola <celeron55@gmail.com> | 2014-01-06 13:24:31 +0200 |
commit | d76957ee22c27adab89cee551e3ab1c85d8717cc (patch) | |
tree | 4facd7100f9c527203681000a1ffb14351eecc81 /src/content_cao.cpp | |
parent | 86c616a545efcc8ed8487440d686a17358170756 (diff) | |
download | minetest-d76957ee22c27adab89cee551e3ab1c85d8717cc.tar.gz minetest-d76957ee22c27adab89cee551e3ab1c85d8717cc.tar.bz2 minetest-d76957ee22c27adab89cee551e3ab1c85d8717cc.zip |
Create new instance of mesh every time it's required (Solves #703)
Diffstat (limited to 'src/content_cao.cpp')
-rw-r--r-- | src/content_cao.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/content_cao.cpp b/src/content_cao.cpp index 640ab6c73..840103cc7 100644 --- a/src/content_cao.cpp +++ b/src/content_cao.cpp @@ -957,10 +957,11 @@ public: } else if(m_prop.visual == "mesh"){ infostream<<"GenericCAO::addToScene(): mesh"<<std::endl; - scene::IAnimatedMesh *mesh = smgr->getMesh(m_prop.mesh.c_str()); + scene::IAnimatedMesh *mesh = m_gamedef->getMesh(m_prop.mesh); if(mesh) { m_animated_meshnode = smgr->addAnimatedMeshSceneNode(mesh, NULL); + 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, m_prop.visual_size.Y, |