From f64732cd7e6d97253391e1bbc91eb7f47222c553 Mon Sep 17 00:00:00 2001 From: engineer_apple Date: Sun, 8 May 2022 14:43:24 +0000 Subject: [PATCH] CBillboardTextSceneNode null-pointer check on missing Texture git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6388 dfc29bdd-3216-0410-991c-e03cc46cb475 --- source/Irrlicht/CTextSceneNode.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/source/Irrlicht/CTextSceneNode.cpp b/source/Irrlicht/CTextSceneNode.cpp index 10f47c76..e97dc913 100644 --- a/source/Irrlicht/CTextSceneNode.cpp +++ b/source/Irrlicht/CTextSceneNode.cpp @@ -215,9 +215,18 @@ void CBillboardTextSceneNode::setText(const wchar_t* text) u32 rectno = sprites[spriteno].Frames[0].rectNumber; u32 texno = sprites[spriteno].Frames[0].textureNumber; - const core::dimension2d& texSize = Font->getSpriteBank()->getTexture(texno)->getOriginalSize(); - dim[0] = core::reciprocal((f32)texSize.Width); - dim[1] = core::reciprocal((f32)texSize.Height); + video::ITexture* texture = Font->getSpriteBank()->getTexture(texno); + if (texture) + { + const core::dimension2d& texSize = texture->getOriginalSize(); + dim[0] = core::reciprocal((f32)texSize.Width); + dim[1] = core::reciprocal((f32)texSize.Height); + } + else + { + dim[0] = 0; + dim[1] = 0; + } const core::rect& s = sourceRects[rectno];