From 3ce4b2b5dceb2c0c0d265d04a9aac72aba544c3a Mon Sep 17 00:00:00 2001 From: cutealien Date: Mon, 30 May 2022 20:13:28 +0000 Subject: [PATCH] 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 --- source/Irrlicht/CCameraSceneNode.cpp | 8 ++++---- 1 file 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();