When LOD is used incorrectly, give error message instead of crashing

git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@10838 178a84e3-b1eb-0310-8ba1-8eac791a3b58
This commit is contained in:
auria 2012-02-13 01:13:18 +00:00
parent 58f7048732
commit e21f040919
2 changed files with 10 additions and 1 deletions

View File

@ -92,7 +92,11 @@ public:
void add(int level, scene::ISceneNode* node, bool reparent);
/** Get the highest level of detail node */
scene::ISceneNode* getFirstNode() { assert(m_nodes.size() > 0); return m_nodes[0]; }
scene::ISceneNode* getFirstNode()
{
if (m_nodes.size() > 0) return m_nodes[0];
else return NULL;
}
std::vector<scene::ISceneNode*>& getAllNodes() { return m_nodes; }

View File

@ -470,6 +470,11 @@ void Track::convertTrackToBullet(scene::ISceneNode *node)
if (node->getType() == scene::ESNT_LOD_NODE)
{
node = ((LODNode*)node)->getFirstNode();
if (node == NULL)
{
fprintf(stderr, "[Track] WARNING: this track contains an empty LOD group\n");
return;
}
}
const core::vector3df &pos = node->getPosition();