diff options
author | cutealien <cutealien@dfc29bdd-3216-0410-991c-e03cc46cb475> | 2022-05-30 20:13:28 +0000 |
---|---|---|
committer | sfan5 <sfan5@live.de> | 2023-03-24 17:09:11 +0100 |
commit | 3ce4b2b5dceb2c0c0d265d04a9aac72aba544c3a (patch) | |
tree | 474212b3862a63193151b53e55437b00178778f0 /source/Irrlicht/CCameraSceneNode.cpp | |
parent | 424eb85f4d6a4f9d7238e469e27cc4f82bffd477 (diff) | |
download | irrlicht-3ce4b2b5dceb2c0c0d265d04a9aac72aba544c3a.tar.xz |
Prevent crash when creating CCameraSceneNode while rendertarget has height 0
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6405 dfc29bdd-3216-0410-991c-e03cc46cb475
Diffstat (limited to 'source/Irrlicht/CCameraSceneNode.cpp')
-rw-r--r-- | source/Irrlicht/CCameraSceneNode.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/source/Irrlicht/CCameraSceneNode.cpp b/source/Irrlicht/CCameraSceneNode.cpp index aaa752f..77d8c28 100644 --- a/source/Irrlicht/CCameraSceneNode.cpp +++ b/source/Irrlicht/CCameraSceneNode.cpp @@ -28,16 +28,16 @@ CCameraSceneNode::CCameraSceneNode(ISceneNode* parent, ISceneManager* mgr, s32 i // set default projection
Fovy = core::PI / 2.5f; // Field of view, in radians.
+ Aspect = 4.0f / 3.0f; // Aspect ratio.
const video::IVideoDriver* const d = mgr?mgr->getVideoDriver():0;
if (d)
{
- Aspect = (f32)d->getCurrentRenderTargetSize().Width /
- (f32)d->getCurrentRenderTargetSize().Height;
+ if ( d->getCurrentRenderTargetSize().Height )
+ Aspect = (f32)d->getCurrentRenderTargetSize().Width /
+ (f32)d->getCurrentRenderTargetSize().Height;
HasD3DStyleProjectionMatrix = d->getDriverType() != video::EDT_OPENGL;
}
- else
- Aspect = 4.0f / 3.0f; // Aspect ratio.
ViewArea.setFarNearDistance(ZFar - ZNear);
recalculateProjectionMatrix();
|