aboutsummaryrefslogtreecommitdiff
path: root/source/Irrlicht/CCameraSceneNode.cpp
diff options
context:
space:
mode:
authorcutealien <cutealien@dfc29bdd-3216-0410-991c-e03cc46cb475>2022-05-30 20:13:28 +0000
committersfan5 <sfan5@live.de>2023-03-24 17:09:11 +0100
commit3ce4b2b5dceb2c0c0d265d04a9aac72aba544c3a (patch)
tree474212b3862a63193151b53e55437b00178778f0 /source/Irrlicht/CCameraSceneNode.cpp
parent424eb85f4d6a4f9d7238e469e27cc4f82bffd477 (diff)
downloadirrlicht-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.cpp8
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();