From 0bf44827b710af454f351e8d0e515da35c9da3c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Mon, 19 Nov 2018 08:27:46 +0100 Subject: [PATCH] ManagedTexture: CreateTextureFromFileData should not return a ManagedTexture object if it fails. Alternatively, we should add even more checks around the code for empty ManagedTextures... --- UI/TextureUtil.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/UI/TextureUtil.cpp b/UI/TextureUtil.cpp index 3fdd3d82a1..b2a41fba52 100644 --- a/UI/TextureUtil.cpp +++ b/UI/TextureUtil.cpp @@ -200,6 +200,11 @@ std::unique_ptr CreateTextureFromFileData(Draw::DrawContext *dra if (!draw) return std::unique_ptr(); ManagedTexture *mtex = new ManagedTexture(draw); - mtex->LoadFromFileData(data, size, type, generateMips); - return std::unique_ptr(mtex); + if (mtex->LoadFromFileData(data, size, type, generateMips)) { + return std::unique_ptr(mtex); + } else { + // Best to return a null pointer if we fail! + delete mtex; + return std::unique_ptr(); + } }