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

Reply via email to