configure.ac | 1 external/harfbuzz/0001-increase-maximum-set_flags-range.patch.1 | 44 ++++++++++ external/harfbuzz/UnpackedTarball_harfbuzz.mk | 4 3 files changed, 49 insertions(+)
New commits: commit 9596472c288d933827cb0724b1d0d8fadaa8e8f2 Author: Caolán McNamara <caolan.mcnam...@collabora.com> AuthorDate: Tue May 6 13:04:50 2025 +0100 Commit: Caolán McNamara <caolan.mcnam...@collabora.com> CommitDate: Tue May 6 15:16:50 2025 +0200 add ZSTD to PERMITTED_BUILD_TARGETS Change-Id: Ib36ff87be792d1dac763df83b992b734c4e67129 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184990 Reviewed-by: Caolán McNamara <caolan.mcnam...@collabora.com> Tested-by: Jenkins diff --git a/configure.ac b/configure.ac index 974f2b0bb7be..7819f4d4ec97 100644 --- a/configure.ac +++ b/configure.ac @@ -6257,6 +6257,7 @@ if test "$cross_compiling" = "yes"; then REPORTBUILDER SCRIPTING ZLIB + ZSTD ZXCVBN " # converts BUILD_TYPE and PERMITTED_BUILD_TARGETS into non-whitespace, commit 404918836d8c2f9fc8459dc37f6c0a757a7dc85f Author: Caolán McNamara <caolan.mcnam...@collabora.com> AuthorDate: Tue May 6 12:12:05 2025 +0100 Commit: Caolán McNamara <caolan.mcnam...@collabora.com> CommitDate: Tue May 6 15:16:40 2025 +0200 crashtesting: checkGlyphsEqual asserts with harfbuzz-11.2.0 see: https: //gerrit.libreoffice.org/c/core/+/184761 https: //github.com/harfbuzz/harfbuzz/pull/5315 Change-Id: I53442b3b0a917442e6871e60b53273f0bb5b4acf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184988 Reviewed-by: Caolán McNamara <caolan.mcnam...@collabora.com> Tested-by: Jenkins diff --git a/external/harfbuzz/0001-increase-maximum-set_flags-range.patch.1 b/external/harfbuzz/0001-increase-maximum-set_flags-range.patch.1 new file mode 100644 index 000000000000..e0190d36eaa3 --- /dev/null +++ b/external/harfbuzz/0001-increase-maximum-set_flags-range.patch.1 @@ -0,0 +1,44 @@ +From 3bb296559745a08d7d7d05bf3e39bf010c68de55 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolan.mcnam...@collabora.com> +Date: Tue, 6 May 2025 11:48:46 +0100 +Subject: [PATCH] increase maximum set_flags range + +This a problem for LibreOffice since: + +commit 0d8717275ac5809812c254c1b0923f2fc052c582 +CommitDate: Tue Apr 22 15:40:06 2025 -0600 + + [buffer] Limit the extent of set_flags range + +where we now see an asset of: + +vcl/source/gdi/impglyphitem.cxx:319: void checkGlyphsEqual(const SalLayoutGlyphs&, const SalLayoutGlyphs&): Assertion `l1->isLayoutEquivalent(l2)' failed. + +as noted in https://gerrit.libreoffice.org/c/core/+/184761 + +on checking in debug-builds if reusing a subset of a previous laid out +string as a cache for the same subtext seen again does really give the +same results. + +In our test documents, empirically checking what number here works, +there's one case which still fails at len 2029 but succeeds at 2030. +--- + src/hb-buffer.hh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/hb-buffer.hh b/src/hb-buffer.hh +index 6c620db69..c922ec592 100644 +--- a/src/hb-buffer.hh ++++ b/src/hb-buffer.hh +@@ -412,7 +412,7 @@ struct hb_buffer_t + { + end = hb_min (end, len); + +- if (unlikely (end - start > 255)) ++ if (unlikely (end - start >= 2048)) + return; + + if (interior && !from_out_buffer && end - start < 2) +-- +2.49.0 + diff --git a/external/harfbuzz/UnpackedTarball_harfbuzz.mk b/external/harfbuzz/UnpackedTarball_harfbuzz.mk index 49b5ee65f05c..f54c936ff9a1 100644 --- a/external/harfbuzz/UnpackedTarball_harfbuzz.mk +++ b/external/harfbuzz/UnpackedTarball_harfbuzz.mk @@ -15,9 +15,13 @@ $(eval $(call gb_UnpackedTarball_update_autoconf_configs,harfbuzz)) $(eval $(call gb_UnpackedTarball_set_patchlevel,harfbuzz,0)) +# See https://github.com/harfbuzz/harfbuzz/pull/5315 for +# 0001-increase-maximum-set_flags-range.patch.1 + $(eval $(call gb_UnpackedTarball_add_patches,harfbuzz, \ external/harfbuzz/tdf159529.patch.0 \ external/harfbuzz/harfbuzz_visibility.patch.1 \ + external/harfbuzz/0001-increase-maximum-set_flags-range.patch.1 \ )) # meson will replace python3 from shebang in build commands with the