From fce8f18d1cd8174f051358e13be33bb7f0c8c854 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Mon, 5 Oct 2020 15:17:10 +0200 Subject: [PATCH] Text: correctly propagate errors when delegating to *SingleData() APIs. The AbstractFontConverter tests now all pass again. --- doc/changelog.dox | 5 +++++ src/Magnum/Text/AbstractFontConverter.cpp | 6 ++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/doc/changelog.dox b/doc/changelog.dox index b497bf280..6550d23b7 100644 --- a/doc/changelog.dox +++ b/doc/changelog.dox @@ -188,6 +188,11 @@ See also: - @ref Shaders::Phong wasn't normalizing normals coming from normal textures, which may have caused slight artifacts due to limited precision of 8-bit pixel formats +- @ref Text::AbstractFontConverter::exportFontToData() and + @ref Text::AbstractFontConverter::exportGlyphCacheToData() didn't correctly + propagate errors when delegating to + @ref Text::AbstractFontConverter::exportFontToSingleData() / + @ref Text::AbstractFontConverter::exportGlyphCacheToSingleData() @subsection changelog-latest-deprecated Deprecated APIs diff --git a/src/Magnum/Text/AbstractFontConverter.cpp b/src/Magnum/Text/AbstractFontConverter.cpp index 5828b066f..0528ce6c3 100644 --- a/src/Magnum/Text/AbstractFontConverter.cpp +++ b/src/Magnum/Text/AbstractFontConverter.cpp @@ -103,7 +103,8 @@ std::vector>> AbstractFontConvert "Text::AbstractFontConverter::exportFontToData(): feature advertised but not implemented", {}); std::vector>> out; - out.emplace_back(filename, doExportFontToSingleData(font, cache, characters)); + Containers::Array result = doExportFontToSingleData(font, cache, characters); + if(result) out.emplace_back(filename, std::move(result)); return out; } @@ -155,7 +156,8 @@ std::vector>> AbstractFontConvert "Text::AbstractFontConverter::exportGlyphCacheToData(): feature advertised but not implemented", {}); std::vector>> out; - out.emplace_back(filename, doExportGlyphCacheToSingleData(cache)); + Containers::Array result = doExportGlyphCacheToSingleData(cache); + if(result) out.emplace_back(filename, std::move(result)); return out; }