Prevent client crashing if an NDT_AIRLIKE node is dropped

The player dropping the node can either be themselves or another player (i.e. without this fix you can crash other people's clients)
Thanks CWz for reporting the issue
This commit is contained in:
Craig Robbins 2015-01-05 22:39:08 +10:00
parent 02e06b423e
commit fa3053f3de

View File

@ -411,8 +411,7 @@ void WieldMeshSceneNode::changeToMesh(scene::IMesh *mesh)
m_meshnode->setVisible(false);
m_meshnode->setMesh(dummymesh);
dummymesh->drop(); // m_meshnode grabbed it
}
} else {
if (m_lighting) {
m_meshnode->setMesh(mesh);
} else {
@ -426,6 +425,7 @@ void WieldMeshSceneNode::changeToMesh(scene::IMesh *mesh)
m_meshnode->setMesh(new_mesh);
new_mesh->drop(); // m_meshnode grabbed it
}
}
m_meshnode->setMaterialFlag(video::EMF_LIGHTING, m_lighting);
// need to normalize normals when lighting is enabled (because of setScale())