mirror of
https://github.com/OpenMW/openmw.git
synced 2025-12-12 18:43:08 +00:00
Fix a possible memory leak in error case
This commit is contained in:
parent
e6619c5306
commit
446c714727
1 changed files with 4 additions and 4 deletions
|
|
@ -352,13 +352,13 @@ public:
|
||||||
virtual void operator()(osg::Node* node, osg::NodeVisitor* nv)
|
virtual void operator()(osg::Node* node, osg::NodeVisitor* nv)
|
||||||
{
|
{
|
||||||
osgUtil::CullVisitor* cv = static_cast<osgUtil::CullVisitor*>(nv);
|
osgUtil::CullVisitor* cv = static_cast<osgUtil::CullVisitor*>(nv);
|
||||||
osg::RefMatrix* projectionMatrix = new osg::RefMatrix(*cv->getProjectionMatrix());
|
|
||||||
float fov, aspect, zNear, zFar;
|
float fov, aspect, zNear, zFar;
|
||||||
if (projectionMatrix->getPerspective(fov, aspect, zNear, zFar))
|
if (cv->getProjectionMatrix()->getPerspective(fov, aspect, zNear, zFar))
|
||||||
{
|
{
|
||||||
fov = mFov;
|
fov = mFov;
|
||||||
projectionMatrix->makePerspective(fov, aspect, zNear, zFar);
|
osg::RefMatrix* newProjectionMatrix = new osg::RefMatrix(*cv->getProjectionMatrix());
|
||||||
cv->pushProjectionMatrix(projectionMatrix);
|
newProjectionMatrix->makePerspective(fov, aspect, zNear, zFar);
|
||||||
|
cv->pushProjectionMatrix(newProjectionMatrix);
|
||||||
traverse(node, nv);
|
traverse(node, nv);
|
||||||
cv->popProjectionMatrix();
|
cv->popProjectionMatrix();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue