download.lst                                   |    4 ++--
 external/pdfium/Library_pdfium.mk              |   11 +++++++----
 external/pdfium/UnpackedTarball_pdfium.mk      |    3 ++-
 external/pdfium/abseil-trivial.patch           |    6 +++++-
 external/pdfium/build.patch.1                  |   10 +++++-----
 external/pdfium/c++20-comparison.patch         |    2 +-
 external/pdfium/inc/pch/precompiled_pdfium.hxx |   13 ++++++++-----
 7 files changed, 30 insertions(+), 19 deletions(-)

New commits:
commit 7c86741f91358372770d216b1060b3177d4dfa03
Author:     Miklos Vajna <[email protected]>
AuthorDate: Tue Sep 13 20:26:53 2022 +0200
Commit:     Thorsten Behrens <[email protected]>
CommitDate: Sat Sep 9 23:45:48 2023 +0200

    external: update pdfium to 5298
    
    pdfium_arm64.patch.1 is now upstreamed as
    <https://pdfium-review.googlesource.com/c/pdfium/+/96010>.
    
    (cherry picked from commit c97c60f70e9e6de594f7e0e0b85f17944c640dcf)
    
    Change-Id: Iafb1ba480161429094db5446ab50314068ae4cfc
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139876
    Tested-by: Jenkins
    Reviewed-by: Miklos Vajna <[email protected]>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156728
    Tested-by: Thorsten Behrens <[email protected]>
    Reviewed-by: Thorsten Behrens <[email protected]>

diff --git a/download.lst b/download.lst
index 6df3884356e0..5c48673428df 100644
--- a/download.lst
+++ b/download.lst
@@ -454,8 +454,8 @@ PAGEMAKER_TARBALL := libpagemaker-0.0.4.tar.xz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
-PDFIUM_SHA256SUM := 
04e0e3f90589250c1fa97cec543af6f5e6c8c2daa377d614ec1f04b061b86651
-PDFIUM_TARBALL := pdfium-5187.tar.bz2
+PDFIUM_SHA256SUM := 
ecb9c2a0d777196949994946e3f24ed251ae5d3db8a9fa1e2827ef857151db13
+PDFIUM_TARBALL := pdfium-5298.tar.bz2
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
diff --git a/external/pdfium/Library_pdfium.mk 
b/external/pdfium/Library_pdfium.mk
index 9ae166889b2c..c00a5f8f89e3 100644
--- a/external/pdfium/Library_pdfium.mk
+++ b/external/pdfium/Library_pdfium.mk
@@ -244,7 +244,6 @@ $(eval $(call 
gb_Library_add_generated_exception_objects,pdfium,\
     UnpackedTarball/pdfium/core/fpdfapi/render/charposlist \
     UnpackedTarball/pdfium/core/fpdfapi/render/cpdf_devicebuffer \
     UnpackedTarball/pdfium/core/fpdfapi/render/cpdf_docrenderdata \
-    UnpackedTarball/pdfium/core/fpdfapi/render/cpdf_imagecacheentry \
     UnpackedTarball/pdfium/core/fpdfapi/render/cpdf_imageloader \
     UnpackedTarball/pdfium/core/fpdfapi/render/cpdf_imagerenderer \
     UnpackedTarball/pdfium/core/fpdfapi/render/cpdf_pagerendercache \
@@ -413,10 +412,8 @@ $(eval $(call 
gb_Library_add_generated_exception_objects,pdfium,\
     UnpackedTarball/pdfium/core/fxcrt/css/cfx_cssoutputtextbuf \
     UnpackedTarball/pdfium/core/fxcrt/cfx_datetime \
     UnpackedTarball/pdfium/core/fxcrt/bytestring \
-    UnpackedTarball/pdfium/core/fxcrt/cfx_binarybuf \
     UnpackedTarball/pdfium/core/fxcrt/cfx_bitstream \
     UnpackedTarball/pdfium/core/fxcrt/cfx_utf8decoder \
-    UnpackedTarball/pdfium/core/fxcrt/cfx_widetextbuf \
     UnpackedTarball/pdfium/core/fxcrt/fx_random \
     UnpackedTarball/pdfium/core/fxcrt/fx_string \
     UnpackedTarball/pdfium/core/fxcrt/widestring \
@@ -424,9 +421,14 @@ $(eval $(call 
gb_Library_add_generated_exception_objects,pdfium,\
     UnpackedTarball/pdfium/core/fxcrt/fx_codepage \
     UnpackedTarball/pdfium/core/fxcrt/fx_number \
     UnpackedTarball/pdfium/core/fxcrt/cfx_utf8encoder \
-    UnpackedTarball/pdfium/core/fxcrt/cfx_readonlymemorystream \
     UnpackedTarball/pdfium/core/fxcrt/observed_ptr \
     UnpackedTarball/pdfium/core/fxcrt/string_data_template \
+    UnpackedTarball/pdfium/core/fxcrt/binary_buffer \
+    UnpackedTarball/pdfium/core/fxcrt/cfx_read_only_span_stream \
+    UnpackedTarball/pdfium/core/fxcrt/cfx_read_only_string_stream \
+    UnpackedTarball/pdfium/core/fxcrt/cfx_read_only_vector_stream \
+    UnpackedTarball/pdfium/core/fxcrt/fx_memory_malloc \
+    UnpackedTarball/pdfium/core/fxcrt/widetext_buffer \
 ))
 
 # fxge
@@ -527,6 +529,7 @@ ifneq ($(SYSTEM_ABSEIL),TRUE)
 # third_party/abseil-cpp
 $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\
     
UnpackedTarball/pdfium/third_party/abseil-cpp/absl/types/bad_optional_access \
+    
UnpackedTarball/pdfium/third_party/abseil-cpp/absl/types/bad_variant_access \
 ))
 endif
 
diff --git a/external/pdfium/UnpackedTarball_pdfium.mk 
b/external/pdfium/UnpackedTarball_pdfium.mk
index 01bd6c74c42d..c1791ed8e823 100644
--- a/external/pdfium/UnpackedTarball_pdfium.mk
+++ b/external/pdfium/UnpackedTarball_pdfium.mk
@@ -57,7 +57,8 @@ $(eval $(call gb_UnpackedTarball_set_post_action,pdfium,\
     mv third_party/base/memory/aligned_memory.cc 
third_party/base/memory/aligned_memory.cpp && \
     mv third_party/base/win/win_util.cc third_party/base/win/win_util.cpp && \
     mv third_party/libopenjpeg/opj_malloc.cc 
third_party/libopenjpeg/opj_malloc.cpp && \
-    mv third_party/abseil-cpp/absl/types/bad_optional_access.cc 
third_party/abseil-cpp/absl/types/bad_optional_access.cpp \
+    mv third_party/abseil-cpp/absl/types/bad_optional_access.cc 
third_party/abseil-cpp/absl/types/bad_optional_access.cpp && \
+    mv third_party/abseil-cpp/absl/types/bad_variant_access.cc 
third_party/abseil-cpp/absl/types/bad_variant_access.cpp \
 ))
 
 # vim: set noet sw=4 ts=4:
diff --git a/external/pdfium/abseil-trivial.patch 
b/external/pdfium/abseil-trivial.patch
index f3e929a5843a..fa91fa6bbba9 100644
--- a/external/pdfium/abseil-trivial.patch
+++ b/external/pdfium/abseil-trivial.patch
@@ -1,13 +1,17 @@
 --- third_party/abseil-cpp/absl/meta/type_traits.h
 +++ third_party/abseil-cpp/absl/meta/type_traits.h
-@@ -489,23 +489,7 @@
+@@ -501,27 +501,7 @@ struct is_trivially_move_assignable
  // operation that is not trivial. `is_trivially_copy_assignable<T>` is simply
  // `is_trivially_assignable<T&, const T&>`.
  template <typename T>
 -struct is_trivially_copy_assignable
+-#ifdef ABSL_HAVE_STD_IS_TRIVIALLY_ASSIGNABLE
+-    : std::is_trivially_copy_assignable<T> {
+-#else
 -    : std::integral_constant<
 -          bool, __has_trivial_assign(typename std::remove_reference<T>::type) 
&&
 -                    absl::is_copy_assignable<T>::value> {
+-#endif
 -#ifdef ABSL_HAVE_STD_IS_TRIVIALLY_ASSIGNABLE
 - private:
 -  static constexpr bool compliant =
diff --git a/external/pdfium/build.patch.1 b/external/pdfium/build.patch.1
index 7e783a07fdb1..35073e2c94d3 100644
--- a/external/pdfium/build.patch.1
+++ b/external/pdfium/build.patch.1
@@ -13,18 +13,18 @@ index 323de4ffc..f11a0b0ad 100644
    std::vector<UnsupportedFeature> unsupported;
    CheckForSharedFormInternal(doc->GetRoot(), &unsupported);
 diff --git a/third_party/base/span.h b/third_party/base/span.h
-index 0fb627ba8..f71c362e2 100644
+index ec9f9903f..1c17ad091 100644
 --- a/third_party/base/span.h
 +++ b/third_party/base/span.h
-@@ -214,7 +214,7 @@ class span {
+@@ -208,7 +208,7 @@ class span {
    // Conversions from spans of compatible types: this allows a span<T> to be
    // seamlessly used as a span<const T>, but not the other way around.
    template <typename U, typename = internal::EnableIfLegalSpanConversion<U, 
T>>
 -  constexpr span(const span<U>& other) : span(other.data(), other.size()) {}
 +  span(const span<U>& other) : span(other.data(), other.size()) {}
-   span& operator=(const span& other) noexcept = default;
-   ~span() noexcept {
-     if (!size_) {
+   span& operator=(const span& other) noexcept {
+     if (this != &other) {
+       ReleaseEmptySpan();
 diff --git a/third_party/base/span.h b/third_party/base/span.h
 index 0fb627ba8..dda1fc8bc 100644
 --- a/third_party/base/span.h
diff --git a/external/pdfium/c++20-comparison.patch 
b/external/pdfium/c++20-comparison.patch
index 638497f6aee4..d26fe66ad8b7 100644
--- a/external/pdfium/c++20-comparison.patch
+++ b/external/pdfium/c++20-comparison.patch
@@ -10,4 +10,4 @@
 +  bool operator!=(const FxPartitionAllocAllocator& that) const { return 
false; }
  };
  
- // Used to put backing store for std::vector<> and such
+ // Used to put backing store for std::vector<> and such into the
diff --git a/external/pdfium/inc/pch/precompiled_pdfium.hxx 
b/external/pdfium/inc/pch/precompiled_pdfium.hxx
index eaa6090cf6c6..21bc61f05fb3 100644
--- a/external/pdfium/inc/pch/precompiled_pdfium.hxx
+++ b/external/pdfium/inc/pch/precompiled_pdfium.hxx
@@ -54,6 +54,7 @@
 #include <stack>
 #include <stdarg.h>
 #include <stddef.h>
+#include <stdint.h>
 #include <stdlib.h>
 #include <string.h>
 #include <string>
@@ -188,7 +189,6 @@
 #include <core/fpdfapi/render/charposlist.h>
 #include <core/fpdfapi/render/cpdf_devicebuffer.h>
 #include <core/fpdfapi/render/cpdf_docrenderdata.h>
-#include <core/fpdfapi/render/cpdf_imagecacheentry.h>
 #include <core/fpdfapi/render/cpdf_imageloader.h>
 #include <core/fpdfapi/render/cpdf_imagerenderer.h>
 #include <core/fpdfapi/render/cpdf_pagerendercache.h>
@@ -274,18 +274,18 @@
 #include <core/fxcodec/scanlinedecoder.h>
 #include <core/fxcrt/autonuller.h>
 #include <core/fxcrt/autorestorer.h>
+#include <core/fxcrt/binary_buffer.h>
 #include <core/fxcrt/bytestring.h>
-#include <core/fxcrt/cfx_binarybuf.h>
 #include <core/fxcrt/cfx_bitstream.h>
 #include <core/fxcrt/cfx_datetime.h>
-#include <core/fxcrt/cfx_fixedbufgrow.h>
 #include <core/fxcrt/cfx_memorystream.h>
-#include <core/fxcrt/cfx_readonlymemorystream.h>
+#include <core/fxcrt/cfx_read_only_span_stream.h>
+#include <core/fxcrt/cfx_read_only_string_stream.h>
+#include <core/fxcrt/cfx_read_only_vector_stream.h>
 #include <core/fxcrt/cfx_seekablestreamproxy.h>
 #include <core/fxcrt/cfx_timer.h>
 #include <core/fxcrt/cfx_utf8decoder.h>
 #include <core/fxcrt/cfx_utf8encoder.h>
-#include <core/fxcrt/cfx_widetextbuf.h>
 #include <core/fxcrt/css/cfx_css.h>
 #include <core/fxcrt/css/cfx_csscolorvalue.h>
 #include <core/fxcrt/css/cfx_csscomputedstyle.h>
@@ -307,6 +307,7 @@
 #include <core/fxcrt/css/cfx_cssvalue.h>
 #include <core/fxcrt/css/cfx_cssvaluelist.h>
 #include <core/fxcrt/css/cfx_cssvaluelistparser.h>
+#include <core/fxcrt/data_vector.h>
 #include <core/fxcrt/fileaccess_iface.h>
 #include <core/fxcrt/fx_bidi.h>
 #include <core/fxcrt/fx_codepage.h>
@@ -328,12 +329,14 @@
 #include <core/fxcrt/pauseindicator_iface.h>
 #include <core/fxcrt/retain_ptr.h>
 #include <core/fxcrt/scoped_set_insertion.h>
+#include <core/fxcrt/small_buffer.h>
 #include <core/fxcrt/span_util.h>
 #include <core/fxcrt/stl_util.h>
 #include <core/fxcrt/string_data_template.h>
 #include <core/fxcrt/string_pool_template.h>
 #include <core/fxcrt/unowned_ptr.h>
 #include <core/fxcrt/widestring.h>
+#include <core/fxcrt/widetext_buffer.h>
 #include <core/fxcrt/xml/cfx_xmlchardata.h>
 #include <core/fxcrt/xml/cfx_xmldocument.h>
 #include <core/fxcrt/xml/cfx_xmlelement.h>

Reply via email to