Commit c1b36e96 authored by hybrid's avatar hybrid

Bug fix to avoid core dump due to access to empty meshbuffers by CuteAlien.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@1436 dfc29bdd-3216-0410-991c-e03cc46cb475
parent 9226383d
...@@ -123,7 +123,10 @@ s32 CParticleAnimatedMeshSceneNodeEmitter::emitt(u32 now, u32 timeSinceLastCall, ...@@ -123,7 +123,10 @@ s32 CParticleAnimatedMeshSceneNodeEmitter::emitt(u32 now, u32 timeSinceLastCall,
randomMB = MBNumber; randomMB = MBNumber;
} }
u32 vertexNumber = os::Randomizer::rand() % frameMesh->getMeshBuffer(randomMB)->getVertexCount(); u32 vertexNumber = frameMesh->getMeshBuffer(randomMB)->getVertexCount();
if (!vertexNumber)
continue;
vertexNumber = os::Randomizer::rand() % vertexNumber;
p.pos = frameMesh->getMeshBuffer(randomMB)->getPosition(vertexNumber); p.pos = frameMesh->getMeshBuffer(randomMB)->getPosition(vertexNumber);
if( UseNormalDirection ) if( UseNormalDirection )
......
...@@ -116,7 +116,10 @@ s32 CParticleMeshEmitter::emitt(u32 now, u32 timeSinceLastCall, SParticle*& outA ...@@ -116,7 +116,10 @@ s32 CParticleMeshEmitter::emitt(u32 now, u32 timeSinceLastCall, SParticle*& outA
randomMB = MBNumber; randomMB = MBNumber;
} }
u32 vertexNumber = os::Randomizer::rand() % Mesh->getMeshBuffer(randomMB)->getVertexCount(); u32 vertexNumber = Mesh->getMeshBuffer(randomMB)->getVertexCount();
if (!vertexNumber)
continue;
vertexNumber = os::Randomizer::rand() % vertexNumber;
p.pos = Mesh->getMeshBuffer(randomMB)->getPosition(vertexNumber); p.pos = Mesh->getMeshBuffer(randomMB)->getPosition(vertexNumber);
if( UseNormalDirection ) if( UseNormalDirection )
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment