vcl/source/gdi/embeddedfontsmanager.cxx | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-)
New commits: commit 21c72b7e880c28f85e76dd694da6aad2c4e783f9 Author: Mike Kaganski <mike.kagan...@collabora.com> AuthorDate: Wed Aug 13 00:04:58 2025 +0500 Commit: Miklos Vajna <vmik...@collabora.com> CommitDate: Fri Aug 15 09:08:31 2025 +0200 Handle errors in File::close() As Michael mentioned, here may be error writing the data, when buffered write is used. See https://gerrit.libreoffice.org/c/core/+/189345/comment/562331df_0e4a6fbd/ Change-Id: Iea1054a32de67f7db3416f4d238b8748c151c466 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189451 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kagan...@collabora.com> (cherry picked from commit f256bba249ae0e0c2722905db788793044f45228) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189458 Reviewed-by: Michael Stahl <michael.st...@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> diff --git a/vcl/source/gdi/embeddedfontsmanager.cxx b/vcl/source/gdi/embeddedfontsmanager.cxx index fe01f3e6e2ab..fd4f3eef8e50 100644 --- a/vcl/source/gdi/embeddedfontsmanager.cxx +++ b/vcl/source/gdi/embeddedfontsmanager.cxx @@ -145,11 +145,20 @@ bool writeFontBytesToFile(osl::File& file, const void* data, sal_uInt64 size) case osl::File::E_INTR: break; default: + SAL_WARN("vcl.fonts", "Writing temporary font file failed"); file.close(); osl::File::remove(file.getURL()); return false; } } + if (file.close() != osl::File::E_None) + { + // Something failed in delayed writing? + SAL_WARN("vcl.fonts", "Writing temporary font file failed"); + osl::File::remove(file.getURL()); + return false; + } + return true; } commit 7b5bb478fec1da190596f818a40b7f219d5297f1 Author: Mike Kaganski <mike.kagan...@collabora.com> AuthorDate: Tue Aug 12 19:21:33 2025 +0200 Commit: Miklos Vajna <vmik...@collabora.com> CommitDate: Fri Aug 15 09:08:20 2025 +0200 Drop obsolete comment Thanks Michael for heads up: https://gerrit.libreoffice.org/c/core/+/189345/comment/a7543090_8215b0e3/ Change-Id: I9e3451226ef6609493ac61ee495d37e62275550e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189444 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kagan...@collabora.com> (cherry picked from commit cb2dee1dee28f5b8dc584a19987dbcfb332877fe) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189452 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> Reviewed-by: Michael Stahl <michael.st...@collabora.com> diff --git a/vcl/source/gdi/embeddedfontsmanager.cxx b/vcl/source/gdi/embeddedfontsmanager.cxx index 0fb186a8f5b7..fe01f3e6e2ab 100644 --- a/vcl/source/gdi/embeddedfontsmanager.cxx +++ b/vcl/source/gdi/embeddedfontsmanager.cxx @@ -257,7 +257,6 @@ bool EmbeddedFontsManager::addEmbeddedFont( const uno::Reference< io::XInputStre pos < read && keyPos < key.size(); ++pos ) bufferRange[ pos ] ^= key[ keyPos++ ]; - // if eot, don't write the file out yet, since we need to unpack it first. fontData.insert( fontData.end(), buffer.getConstArray(), buffer.getConstArray() + read ); if( read <= 0 ) break;