Use unique_ptr to avoid possible memory leak

pull/3212/head
elsid 3 years ago
parent 8e71c246bf
commit ed5a4e195b
No known key found for this signature in database
GPG Key ID: B845CB9FEE18AB40

@ -83,7 +83,8 @@ public:
return osg::ref_ptr<BulletShape>();
osg::ref_ptr<BulletShape> shape (new BulletShape);
btBvhTriangleMeshShape* triangleMeshShape = new TriangleMeshShape(mTriangleMesh.release(), true);
auto triangleMeshShape = std::make_unique<TriangleMeshShape>(mTriangleMesh.release(), true);
btVector3 aabbMin = triangleMeshShape->getLocalAabbMin();
btVector3 aabbMax = triangleMeshShape->getLocalAabbMax();
shape->mCollisionBox.mExtents[0] = (aabbMax[0] - aabbMin[0]) / 2.0f;
@ -92,7 +93,7 @@ public:
shape->mCollisionBox.mCenter = osg::Vec3f( (aabbMax[0] + aabbMin[0]) / 2.0f,
(aabbMax[1] + aabbMin[1]) / 2.0f,
(aabbMax[2] + aabbMin[2]) / 2.0f );
shape->mCollisionShape.reset(triangleMeshShape);
shape->mCollisionShape.reset(triangleMeshShape.release());
return shape;
}

Loading…
Cancel
Save