Fixed ChainShape:getChildEdge crashing

This commit is contained in:
Alex Szpakowski
2013-08-11 17:50:57 -03:00
parent 2561ace2d6
commit 4f6e956f85
2 changed files with 13 additions and 9 deletions
+11 -8
View File
@@ -70,16 +70,19 @@ void ChainShape::setPrevVertex(float x, float y)
EdgeShape *ChainShape::getChildEdge(int index) const
{
b2ChainShape *c = (b2ChainShape *)shape;
b2EdgeShape e;
c->GetChildEdge(&e, index);
EdgeShape *edge = (EdgeShape *)Memoizer::find(&e);
if (!edge)
return new EdgeShape(&e);
else
b2EdgeShape *e = new b2EdgeShape;
try
{
edge->retain();
return edge;
c->GetChildEdge(e, index);
}
catch (love::Exception &ex)
{
delete e;
throw;
}
return new EdgeShape(e, true);
}
int ChainShape::getChildCount() const