download.lst | 4 external/pdfium/Library_pdfium.mk | 5 - external/pdfium/build.patch.1 | 124 +------------------------ external/pdfium/buildfix-7.patch.1 | 19 +++ external/pdfium/inc/pch/precompiled_pdfium.hxx | 1 5 files changed, 29 insertions(+), 124 deletions(-)
New commits: commit 81fc050a888874dc63a1aaf921dd5023f710c99a Author: Miklos Vajna <[email protected]> AuthorDate: Wed Dec 11 11:11:05 2024 +0100 Commit: Michael Stahl <[email protected]> CommitDate: Thu Nov 13 13:17:12 2025 +0100 Update pdfium to 6887 CPWL_Dash-switch-to-universal-init.patch.1 is upstreamed, remove it. (cherry picked from commit 39f35f2ed2277931da36b6e3d2516c2355296fc9) Conflicts: external/pdfium/UnpackedTarball_pdfium.mk Change-Id: I4ff68f15d58b853896626b0458d3817f64fbc32f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/182907 Tested-by: Jenkins CollaboraOffice <[email protected]> Reviewed-by: Miklos Vajna <[email protected]> (cherry picked from commit 2e23914bc0f49565bcd2527ff7a6b1f1499e5fb1) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193768 (cherry picked from commit 13c58e97976144b700cdbd4804b2a7f34a44ea2c) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193902 Reviewed-by: Michael Stahl <[email protected]> Tested-by: allotropia jenkins <[email protected]> diff --git a/download.lst b/download.lst index fef4343099cd..4b780c5cbb87 100644 --- a/download.lst +++ b/download.lst @@ -455,8 +455,8 @@ PAGEMAKER_TARBALL := libpagemaker-0.0.4.tar.xz # three static lines # so that git cherry-pick # will not run into conflicts -PDFIUM_SHA256SUM := 59d5df3b38312b069d96a8de9d4f8d7f44a29835c9dc82bd792ea02be86c4e49 -PDFIUM_TARBALL := pdfium-6764.tar.bz2 +PDFIUM_SHA256SUM := 03aabafd8bed319f87aa96871264dc599879e482a0923450070dac987c8a671e +PDFIUM_TARBALL := pdfium-6887.tar.bz2 # three static lines # so that git cherry-pick # will not run into conflicts diff --git a/external/pdfium/CPWL_Dash-switch-to-universal-init.patch.1 b/external/pdfium/CPWL_Dash-switch-to-universal-init.patch.1 deleted file mode 100644 index 9a82052c5013..000000000000 --- a/external/pdfium/CPWL_Dash-switch-to-universal-init.patch.1 +++ /dev/null @@ -1,150 +0,0 @@ -From 4467963f67102181c41a1579e627a9748b954d74 Mon Sep 17 00:00:00 2001 -From: Miklos Vajna <[email protected]> -Date: Fri, 18 Oct 2024 22:08:25 +0000 -Subject: [PATCH] CPWL_Dash: switch to universal init - -E.g. clang-15 in -std=c++20 mode fails without this with the following -error message: - -pdfium/fpdfsdk/pwl/cpwl_wnd.cpp:43:7: error: no matching constructor for initialization of 'CPWL_Dash' - sDash(3, 0, 0) {} - ^ ~~~~~~~ -pdfium/fpdfsdk/pwl/cpwl_wnd.h:61:8: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 3 were provided -struct CPWL_Dash { - ^ -pdfium/fpdfsdk/pwl/cpwl_wnd.h:61:8: note: candidate constructor (the implicit move constructor) not viable: requires 1 argument, but 3 were provided -pdfium/fpdfsdk/pwl/cpwl_wnd.h:61:8: note: candidate constructor (the implicit default constructor) not viable: requires 0 arguments, but 3 were provided -1 error generated. - -Switching to universal init restores the ability to build with this -compiler, as it was working in the past. - -Change-Id: I48b2079b87cce9bc4e2ec7b813e21ea5bcb786d3 -Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/125170 -Reviewed-by: Tom Sepez <[email protected]> -Commit-Queue: Tom Sepez <[email protected]> -Reviewed-by: Lei Zhang <[email protected]> -Reviewed-by: Tom Sepez <[email protected]> ---- - fpdfsdk/cpdfsdk_appstream.cpp | 20 ++++++++++---------- - fpdfsdk/formfiller/cffl_formfield.cpp | 2 +- - fpdfsdk/pwl/cpwl_wnd.cpp | 2 +- - 3 files changed, 12 insertions(+), 12 deletions(-) - -diff --git a/fpdfsdk/cpdfsdk_appstream.cpp b/fpdfsdk/cpdfsdk_appstream.cpp -index 3a9bfabef..b7b06cae8 100644 ---- a/fpdfsdk/cpdfsdk_appstream.cpp -+++ b/fpdfsdk/cpdfsdk_appstream.cpp -@@ -1055,7 +1055,7 @@ ByteString GetDropButtonAppStream(const CFX_FloatRect& rcBBox) { - rcBBox, 2, CFX_Color(CFX_Color::Type::kGray, 0), - CFX_Color(CFX_Color::Type::kGray, 1), - CFX_Color(CFX_Color::Type::kGray, 0.5), BorderStyle::kBeveled, -- CPWL_Dash(3, 0, 0)); -+ CPWL_Dash{3, 0, 0}); - } - - CFX_PointF ptCenter = CFX_PointF((rcBBox.left + rcBBox.right) / 2, -@@ -1162,14 +1162,14 @@ void CPDFSDK_AppStream::SetAsPushButton() { - CFX_Color crBorder = pControl->GetOriginalBorderColor(); - - float fBorderWidth = static_cast<float>(widget_->GetBorderWidth()); -- CPWL_Dash dsBorder(3, 0, 0); -+ CPWL_Dash dsBorder{3, 0, 0}; - CFX_Color crLeftTop; - CFX_Color crRightBottom; - - BorderStyle nBorderStyle = widget_->GetBorderStyle(); - switch (nBorderStyle) { - case BorderStyle::kDash: -- dsBorder = CPWL_Dash(3, 3, 0); -+ dsBorder = CPWL_Dash{3, 3, 0}; - break; - case BorderStyle::kBeveled: - fBorderWidth *= 2; -@@ -1313,14 +1313,14 @@ void CPDFSDK_AppStream::SetAsCheckBox() { - CFX_Color crBackground = pControl->GetOriginalBackgroundColor(); - CFX_Color crBorder = pControl->GetOriginalBorderColor(); - float fBorderWidth = static_cast<float>(widget_->GetBorderWidth()); -- CPWL_Dash dsBorder(3, 0, 0); -+ CPWL_Dash dsBorder{3, 0, 0}; - CFX_Color crLeftTop; - CFX_Color crRightBottom; - - BorderStyle nBorderStyle = widget_->GetBorderStyle(); - switch (nBorderStyle) { - case BorderStyle::kDash: -- dsBorder = CPWL_Dash(3, 3, 0); -+ dsBorder = CPWL_Dash{3, 3, 0}; - break; - case BorderStyle::kBeveled: - fBorderWidth *= 2; -@@ -1392,14 +1392,14 @@ void CPDFSDK_AppStream::SetAsRadioButton() { - CFX_Color crBackground = pControl->GetOriginalBackgroundColor(); - CFX_Color crBorder = pControl->GetOriginalBorderColor(); - float fBorderWidth = static_cast<float>(widget_->GetBorderWidth()); -- CPWL_Dash dsBorder(3, 0, 0); -+ CPWL_Dash dsBorder{3, 0, 0}; - CFX_Color crLeftTop; - CFX_Color crRightBottom; - - BorderStyle nBorderStyle = widget_->GetBorderStyle(); - switch (nBorderStyle) { - case BorderStyle::kDash: -- dsBorder = CPWL_Dash(3, 3, 0); -+ dsBorder = CPWL_Dash{3, 3, 0}; - break; - case BorderStyle::kBeveled: - fBorderWidth *= 2; -@@ -1769,7 +1769,7 @@ void CPDFSDK_AppStream::SetAsTextField(std::optional<WideString> sValue) { - ByteString sColor = - GetStrokeColorAppStream(widget_->GetBorderPWLColor()); - if (sColor.GetLength() > 0) { -- CPWL_Dash dsBorder = CPWL_Dash(3, 3, 0); -+ CPWL_Dash dsBorder = CPWL_Dash{3, 3, 0}; - AutoClosedQCommand q(&sLines); - sLines << widget_->GetBorderWidth() << " " << kSetLineWidthOperator - << " " -@@ -1876,12 +1876,12 @@ ByteString CPDFSDK_AppStream::GetBorderAppStream() const { - CFX_Color crRightBottom; - - float fBorderWidth = static_cast<float>(widget_->GetBorderWidth()); -- CPWL_Dash dsBorder(3, 0, 0); -+ CPWL_Dash dsBorder{3, 0, 0}; - - BorderStyle nBorderStyle = widget_->GetBorderStyle(); - switch (nBorderStyle) { - case BorderStyle::kDash: -- dsBorder = CPWL_Dash(3, 3, 0); -+ dsBorder = CPWL_Dash{3, 3, 0}; - break; - case BorderStyle::kBeveled: - fBorderWidth *= 2; -diff --git a/fpdfsdk/formfiller/cffl_formfield.cpp b/fpdfsdk/formfiller/cffl_formfield.cpp -index 49edfdaed..bba78eda6 100644 ---- a/fpdfsdk/formfiller/cffl_formfield.cpp -+++ b/fpdfsdk/formfiller/cffl_formfield.cpp -@@ -336,7 +336,7 @@ CPWL_Wnd::CreateParams CFFL_FormField::GetCreateParam() { - cp.nBorderStyle = m_pWidget->GetBorderStyle(); - switch (cp.nBorderStyle) { - case BorderStyle::kDash: -- cp.sDash = CPWL_Dash(3, 3, 0); -+ cp.sDash = CPWL_Dash{3, 3, 0}; - break; - case BorderStyle::kBeveled: - case BorderStyle::kInset: -diff --git a/fpdfsdk/pwl/cpwl_wnd.cpp b/fpdfsdk/pwl/cpwl_wnd.cpp -index 502568709..88b0cf03e 100644 ---- a/fpdfsdk/pwl/cpwl_wnd.cpp -+++ b/fpdfsdk/pwl/cpwl_wnd.cpp -@@ -40,7 +40,7 @@ CPWL_Wnd::CreateParams::CreateParams(CFX_Timer::HandlerIface* timer_handler, - pFillerNotify(filler_notify), - pProvider(provider), - fFontSize(kDefaultFontSize), -- sDash(3, 0, 0) {} -+ sDash{3, 0, 0} {} - - CPWL_Wnd::CreateParams::CreateParams(const CreateParams& other) = default; - --- -2.43.0 - diff --git a/external/pdfium/Library_pdfium.mk b/external/pdfium/Library_pdfium.mk index 995a870cd879..190777085093 100644 --- a/external/pdfium/Library_pdfium.mk +++ b/external/pdfium/Library_pdfium.mk @@ -374,10 +374,13 @@ $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ UnpackedTarball/pdfium/core/fxcodec/flate/flatemodule \ UnpackedTarball/pdfium/core/fxcodec/icc/icc_transform \ UnpackedTarball/pdfium/core/fxcodec/jbig2/jbig2_decoder \ - UnpackedTarball/pdfium/core/fxcodec/jpeg/jpeg_common \ UnpackedTarball/pdfium/core/fxcodec/data_and_bytes_consumed \ )) +$(eval $(call gb_Library_add_generated_cobjects,pdfium,\ + UnpackedTarball/pdfium/core/fxcodec/jpeg/jpeg_common \ +)) + # fxcrt $(eval $(call gb_Library_add_generated_exception_objects,pdfium,\ UnpackedTarball/pdfium/core/fxcrt/cfx_memorystream \ diff --git a/external/pdfium/UnpackedTarball_pdfium.mk b/external/pdfium/UnpackedTarball_pdfium.mk index b3ebcfde4d5d..e70ea82d0183 100644 --- a/external/pdfium/UnpackedTarball_pdfium.mk +++ b/external/pdfium/UnpackedTarball_pdfium.mk @@ -16,8 +16,6 @@ pdfium_patches += build.patch.1 pdfium_patches += msvc2017.patch.1 # Avoids Windows 8 build dependency. pdfium_patches += windows7.patch.1 -# https://pdfium-review.googlesource.com/c/pdfium/+/125170 -pdfium_patches += CPWL_Dash-switch-to-universal-init.patch.1 pdfium_patches += c++20-comparison.patch $(eval $(call gb_UnpackedTarball_UnpackedTarball,pdfium)) diff --git a/external/pdfium/build.patch.1 b/external/pdfium/build.patch.1 index c1c733aca306..99115f64ea9f 100644 --- a/external/pdfium/build.patch.1 +++ b/external/pdfium/build.patch.1 @@ -50,7 +50,9 @@ index 435fafa85..d8e8bfbc4 100644 typename = internal::EnableIfSpanCompatibleContainer<Container, T>> - constexpr span(Container& container) + span(Container& container) - : span(container.data(), container.size()) {} + // SAFETY: `size()` is the number of elements that can be safely accessed + // at `data()`. + : UNSAFE_BUFFERS(span(container.data(), container.size())) {} #endif @@ -225,7 +225,7 @@ class TRIVIAL_ABI GSL_POINTER span { @@ -59,9 +61,9 @@ index 435fafa85..d8e8bfbc4 100644 typename = internal::EnableIfLegalSpanConversion<U, T>> - constexpr span(const span<U, M, R>& other) + span(const span<U, M, R>& other) - : span(other.data(), other.size()) {} - - span& operator=(const span& other) noexcept { + // SAFETY: `size()` is the number of elements that can be safely accessed + // at `data()`. + : UNSAFE_BUFFERS(span(other.data(), other.size())) {} diff --git a/core/fxcrt/numerics/safe_conversions_impl.h b/core/fxcrt/numerics/safe_conversions_impl.h index 44c921a14..0152a89b7 100644 --- a/core/fxcrt/numerics/safe_conversions_impl.h diff --git a/external/pdfium/buildfix-7.patch.1 b/external/pdfium/buildfix-7.patch.1 index a5540617fd9e..adacf0f30df1 100644 --- a/external/pdfium/buildfix-7.patch.1 +++ b/external/pdfium/buildfix-7.patch.1 @@ -180,14 +180,14 @@ pdfium/core/fpdfdoc/cpdf_formcontrol.cpp:134: undefined reference to `fxcrt::Str +++ pdfium/core/fpdfdoc/cpdf_pagelabel.cpp 2025-11-12 11:26:09.615649063 +0100 @@ -20,9 +20,9 @@ WideString MakeRoman(int num) { - constexpr auto kArabic = fxcrt::ToArray<const int>( + static constexpr auto kArabic = fxcrt::ToArray<const int>( {1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1}); - const auto kRoman = fxcrt::ToArray<const WideStringView>( + std::array<const WideStringView, 13> kRoman = {L"m", L"cm", L"d", L"cd", L"c", L"xc", L"l", L"xl", L"x", L"ix", L"v", - L"iv", L"i"}); + L"iv", L"i"}; - constexpr int kMaxNum = 1000000; + static constexpr int kMaxNum = 1000000; num %= kMaxNum; --- pdfium/core/fpdfdoc/cpvt_variabletext.cpp.orig 2025-11-12 11:28:21.534664730 +0100 @@ -204,3 +204,18 @@ pdfium/core/fpdfdoc/cpdf_formcontrol.cpp:134: undefined reference to `fxcrt::Str } // namespace +--- pdfium/core/fpdfdoc/cpdf_generateap.cpp.orig 2025-11-12 12:02:45.057324704 +0100 ++++ pdfium/core/fpdfdoc/cpdf_generateap.cpp 2025-11-12 12:03:45.923858903 +0100 +@@ -824,8 +824,10 @@ + body_stream << "q " << button; + WriteRect(body_stream, button_rect) << " re f "; + body_stream << "Q "; +- static const BorderStyleInfo kButtonBorderStyleInfo{ +- .width = 2, .style = BorderStyle::kBeveled, .dash_pattern{3, 0, 0}}; ++ BorderStyleInfo kButtonBorderStyleInfo; ++ kButtonBorderStyleInfo.width = 2; ++ kButtonBorderStyleInfo.style = BorderStyle::kBeveled; ++ kButtonBorderStyleInfo.dash_pattern = {3, 0, 0}; + ByteString button_border = + GenerateBorderAP(button_rect, kButtonBorderStyleInfo, + CFX_Color(CFX_Color::Type::kGray, 0)); diff --git a/external/pdfium/inc/pch/precompiled_pdfium.hxx b/external/pdfium/inc/pch/precompiled_pdfium.hxx index b03d216545af..be581129aa12 100644 --- a/external/pdfium/inc/pch/precompiled_pdfium.hxx +++ b/external/pdfium/inc/pch/precompiled_pdfium.hxx @@ -51,7 +51,6 @@ #include <ostream> #include <queue> #include <set> -#include <setjmp.h> #include <sstream> #include <stack> #include <stddef.h> commit 431b461e8fa9b4f4a8d6a4a34ffffa55cc58261e Author: Miklos Vajna <[email protected]> AuthorDate: Tue Dec 10 15:23:17 2024 +0100 Commit: Michael Stahl <[email protected]> CommitDate: Thu Nov 13 13:17:06 2025 +0100 pdfium: mark part of build.patch.1 as upstreamed So it'll be easier to drop it the next time pdfium is updated. (cherry picked from commit 904b956622b1581517c938ed8dacac70f7c6242c) Conflicts: external/pdfium/UnpackedTarball_pdfium.mk Change-Id: Iebeb892f62ee8002460142adf28f75666c92c2e4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/182866 Reviewed-by: Miklos Vajna <[email protected]> Tested-by: Jenkins CollaboraOffice <[email protected]> (cherry picked from commit 60dec074779488c7efe7461ea195b4468f6574d4) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193767 (cherry picked from commit 3e97144aea7b6fd81ec56820eaac67edf7af5ab1) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193901 Reviewed-by: Michael Stahl <[email protected]> Tested-by: Michael Stahl <[email protected]> diff --git a/external/pdfium/CPWL_Dash-switch-to-universal-init.patch.1 b/external/pdfium/CPWL_Dash-switch-to-universal-init.patch.1 new file mode 100644 index 000000000000..9a82052c5013 --- /dev/null +++ b/external/pdfium/CPWL_Dash-switch-to-universal-init.patch.1 @@ -0,0 +1,150 @@ +From 4467963f67102181c41a1579e627a9748b954d74 Mon Sep 17 00:00:00 2001 +From: Miklos Vajna <[email protected]> +Date: Fri, 18 Oct 2024 22:08:25 +0000 +Subject: [PATCH] CPWL_Dash: switch to universal init + +E.g. clang-15 in -std=c++20 mode fails without this with the following +error message: + +pdfium/fpdfsdk/pwl/cpwl_wnd.cpp:43:7: error: no matching constructor for initialization of 'CPWL_Dash' + sDash(3, 0, 0) {} + ^ ~~~~~~~ +pdfium/fpdfsdk/pwl/cpwl_wnd.h:61:8: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 3 were provided +struct CPWL_Dash { + ^ +pdfium/fpdfsdk/pwl/cpwl_wnd.h:61:8: note: candidate constructor (the implicit move constructor) not viable: requires 1 argument, but 3 were provided +pdfium/fpdfsdk/pwl/cpwl_wnd.h:61:8: note: candidate constructor (the implicit default constructor) not viable: requires 0 arguments, but 3 were provided +1 error generated. + +Switching to universal init restores the ability to build with this +compiler, as it was working in the past. + +Change-Id: I48b2079b87cce9bc4e2ec7b813e21ea5bcb786d3 +Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/125170 +Reviewed-by: Tom Sepez <[email protected]> +Commit-Queue: Tom Sepez <[email protected]> +Reviewed-by: Lei Zhang <[email protected]> +Reviewed-by: Tom Sepez <[email protected]> +--- + fpdfsdk/cpdfsdk_appstream.cpp | 20 ++++++++++---------- + fpdfsdk/formfiller/cffl_formfield.cpp | 2 +- + fpdfsdk/pwl/cpwl_wnd.cpp | 2 +- + 3 files changed, 12 insertions(+), 12 deletions(-) + +diff --git a/fpdfsdk/cpdfsdk_appstream.cpp b/fpdfsdk/cpdfsdk_appstream.cpp +index 3a9bfabef..b7b06cae8 100644 +--- a/fpdfsdk/cpdfsdk_appstream.cpp ++++ b/fpdfsdk/cpdfsdk_appstream.cpp +@@ -1055,7 +1055,7 @@ ByteString GetDropButtonAppStream(const CFX_FloatRect& rcBBox) { + rcBBox, 2, CFX_Color(CFX_Color::Type::kGray, 0), + CFX_Color(CFX_Color::Type::kGray, 1), + CFX_Color(CFX_Color::Type::kGray, 0.5), BorderStyle::kBeveled, +- CPWL_Dash(3, 0, 0)); ++ CPWL_Dash{3, 0, 0}); + } + + CFX_PointF ptCenter = CFX_PointF((rcBBox.left + rcBBox.right) / 2, +@@ -1162,14 +1162,14 @@ void CPDFSDK_AppStream::SetAsPushButton() { + CFX_Color crBorder = pControl->GetOriginalBorderColor(); + + float fBorderWidth = static_cast<float>(widget_->GetBorderWidth()); +- CPWL_Dash dsBorder(3, 0, 0); ++ CPWL_Dash dsBorder{3, 0, 0}; + CFX_Color crLeftTop; + CFX_Color crRightBottom; + + BorderStyle nBorderStyle = widget_->GetBorderStyle(); + switch (nBorderStyle) { + case BorderStyle::kDash: +- dsBorder = CPWL_Dash(3, 3, 0); ++ dsBorder = CPWL_Dash{3, 3, 0}; + break; + case BorderStyle::kBeveled: + fBorderWidth *= 2; +@@ -1313,14 +1313,14 @@ void CPDFSDK_AppStream::SetAsCheckBox() { + CFX_Color crBackground = pControl->GetOriginalBackgroundColor(); + CFX_Color crBorder = pControl->GetOriginalBorderColor(); + float fBorderWidth = static_cast<float>(widget_->GetBorderWidth()); +- CPWL_Dash dsBorder(3, 0, 0); ++ CPWL_Dash dsBorder{3, 0, 0}; + CFX_Color crLeftTop; + CFX_Color crRightBottom; + + BorderStyle nBorderStyle = widget_->GetBorderStyle(); + switch (nBorderStyle) { + case BorderStyle::kDash: +- dsBorder = CPWL_Dash(3, 3, 0); ++ dsBorder = CPWL_Dash{3, 3, 0}; + break; + case BorderStyle::kBeveled: + fBorderWidth *= 2; +@@ -1392,14 +1392,14 @@ void CPDFSDK_AppStream::SetAsRadioButton() { + CFX_Color crBackground = pControl->GetOriginalBackgroundColor(); + CFX_Color crBorder = pControl->GetOriginalBorderColor(); + float fBorderWidth = static_cast<float>(widget_->GetBorderWidth()); +- CPWL_Dash dsBorder(3, 0, 0); ++ CPWL_Dash dsBorder{3, 0, 0}; + CFX_Color crLeftTop; + CFX_Color crRightBottom; + + BorderStyle nBorderStyle = widget_->GetBorderStyle(); + switch (nBorderStyle) { + case BorderStyle::kDash: +- dsBorder = CPWL_Dash(3, 3, 0); ++ dsBorder = CPWL_Dash{3, 3, 0}; + break; + case BorderStyle::kBeveled: + fBorderWidth *= 2; +@@ -1769,7 +1769,7 @@ void CPDFSDK_AppStream::SetAsTextField(std::optional<WideString> sValue) { + ByteString sColor = + GetStrokeColorAppStream(widget_->GetBorderPWLColor()); + if (sColor.GetLength() > 0) { +- CPWL_Dash dsBorder = CPWL_Dash(3, 3, 0); ++ CPWL_Dash dsBorder = CPWL_Dash{3, 3, 0}; + AutoClosedQCommand q(&sLines); + sLines << widget_->GetBorderWidth() << " " << kSetLineWidthOperator + << " " +@@ -1876,12 +1876,12 @@ ByteString CPDFSDK_AppStream::GetBorderAppStream() const { + CFX_Color crRightBottom; + + float fBorderWidth = static_cast<float>(widget_->GetBorderWidth()); +- CPWL_Dash dsBorder(3, 0, 0); ++ CPWL_Dash dsBorder{3, 0, 0}; + + BorderStyle nBorderStyle = widget_->GetBorderStyle(); + switch (nBorderStyle) { + case BorderStyle::kDash: +- dsBorder = CPWL_Dash(3, 3, 0); ++ dsBorder = CPWL_Dash{3, 3, 0}; + break; + case BorderStyle::kBeveled: + fBorderWidth *= 2; +diff --git a/fpdfsdk/formfiller/cffl_formfield.cpp b/fpdfsdk/formfiller/cffl_formfield.cpp +index 49edfdaed..bba78eda6 100644 +--- a/fpdfsdk/formfiller/cffl_formfield.cpp ++++ b/fpdfsdk/formfiller/cffl_formfield.cpp +@@ -336,7 +336,7 @@ CPWL_Wnd::CreateParams CFFL_FormField::GetCreateParam() { + cp.nBorderStyle = m_pWidget->GetBorderStyle(); + switch (cp.nBorderStyle) { + case BorderStyle::kDash: +- cp.sDash = CPWL_Dash(3, 3, 0); ++ cp.sDash = CPWL_Dash{3, 3, 0}; + break; + case BorderStyle::kBeveled: + case BorderStyle::kInset: +diff --git a/fpdfsdk/pwl/cpwl_wnd.cpp b/fpdfsdk/pwl/cpwl_wnd.cpp +index 502568709..88b0cf03e 100644 +--- a/fpdfsdk/pwl/cpwl_wnd.cpp ++++ b/fpdfsdk/pwl/cpwl_wnd.cpp +@@ -40,7 +40,7 @@ CPWL_Wnd::CreateParams::CreateParams(CFX_Timer::HandlerIface* timer_handler, + pFillerNotify(filler_notify), + pProvider(provider), + fFontSize(kDefaultFontSize), +- sDash(3, 0, 0) {} ++ sDash{3, 0, 0} {} + + CPWL_Wnd::CreateParams::CreateParams(const CreateParams& other) = default; + +-- +2.43.0 + diff --git a/external/pdfium/UnpackedTarball_pdfium.mk b/external/pdfium/UnpackedTarball_pdfium.mk index e70ea82d0183..b3ebcfde4d5d 100644 --- a/external/pdfium/UnpackedTarball_pdfium.mk +++ b/external/pdfium/UnpackedTarball_pdfium.mk @@ -16,6 +16,8 @@ pdfium_patches += build.patch.1 pdfium_patches += msvc2017.patch.1 # Avoids Windows 8 build dependency. pdfium_patches += windows7.patch.1 +# https://pdfium-review.googlesource.com/c/pdfium/+/125170 +pdfium_patches += CPWL_Dash-switch-to-universal-init.patch.1 pdfium_patches += c++20-comparison.patch $(eval $(call gb_UnpackedTarball_UnpackedTarball,pdfium)) diff --git a/external/pdfium/build.patch.1 b/external/pdfium/build.patch.1 index 21b18e8334a2..c1c733aca306 100644 --- a/external/pdfium/build.patch.1 +++ b/external/pdfium/build.patch.1 @@ -145,117 +145,3 @@ index 8026a75d5..34c20d62f 100644 static_assert(kModeKeyForMode.size() == FPDF_ANNOT_APPEARANCEMODE_COUNT, "length of kModeKeyForMode should be equal to " "FPDF_ANNOT_APPEARANCEMODE_COUNT"); -diff --git a/fpdfsdk/cpdfsdk_appstream.cpp b/fpdfsdk/cpdfsdk_appstream.cpp -index 3a9bfabef..b7b06cae8 100644 ---- a/fpdfsdk/cpdfsdk_appstream.cpp -+++ b/fpdfsdk/cpdfsdk_appstream.cpp -@@ -1055,7 +1055,7 @@ ByteString GetDropButtonAppStream(const CFX_FloatRect& rcBBox) { - rcBBox, 2, CFX_Color(CFX_Color::Type::kGray, 0), - CFX_Color(CFX_Color::Type::kGray, 1), - CFX_Color(CFX_Color::Type::kGray, 0.5), BorderStyle::kBeveled, -- CPWL_Dash(3, 0, 0)); -+ CPWL_Dash{3, 0, 0}); - } - - CFX_PointF ptCenter = CFX_PointF((rcBBox.left + rcBBox.right) / 2, -@@ -1162,14 +1162,14 @@ void CPDFSDK_AppStream::SetAsPushButton() { - CFX_Color crBorder = pControl->GetOriginalBorderColor(); - - float fBorderWidth = static_cast<float>(widget_->GetBorderWidth()); -- CPWL_Dash dsBorder(3, 0, 0); -+ CPWL_Dash dsBorder{3, 0, 0}; - CFX_Color crLeftTop; - CFX_Color crRightBottom; - - BorderStyle nBorderStyle = widget_->GetBorderStyle(); - switch (nBorderStyle) { - case BorderStyle::kDash: -- dsBorder = CPWL_Dash(3, 3, 0); -+ dsBorder = CPWL_Dash{3, 3, 0}; - break; - case BorderStyle::kBeveled: - fBorderWidth *= 2; -@@ -1313,14 +1313,14 @@ void CPDFSDK_AppStream::SetAsCheckBox() { - CFX_Color crBackground = pControl->GetOriginalBackgroundColor(); - CFX_Color crBorder = pControl->GetOriginalBorderColor(); - float fBorderWidth = static_cast<float>(widget_->GetBorderWidth()); -- CPWL_Dash dsBorder(3, 0, 0); -+ CPWL_Dash dsBorder{3, 0, 0}; - CFX_Color crLeftTop; - CFX_Color crRightBottom; - - BorderStyle nBorderStyle = widget_->GetBorderStyle(); - switch (nBorderStyle) { - case BorderStyle::kDash: -- dsBorder = CPWL_Dash(3, 3, 0); -+ dsBorder = CPWL_Dash{3, 3, 0}; - break; - case BorderStyle::kBeveled: - fBorderWidth *= 2; -@@ -1392,14 +1392,14 @@ void CPDFSDK_AppStream::SetAsRadioButton() { - CFX_Color crBackground = pControl->GetOriginalBackgroundColor(); - CFX_Color crBorder = pControl->GetOriginalBorderColor(); - float fBorderWidth = static_cast<float>(widget_->GetBorderWidth()); -- CPWL_Dash dsBorder(3, 0, 0); -+ CPWL_Dash dsBorder{3, 0, 0}; - CFX_Color crLeftTop; - CFX_Color crRightBottom; - - BorderStyle nBorderStyle = widget_->GetBorderStyle(); - switch (nBorderStyle) { - case BorderStyle::kDash: -- dsBorder = CPWL_Dash(3, 3, 0); -+ dsBorder = CPWL_Dash{3, 3, 0}; - break; - case BorderStyle::kBeveled: - fBorderWidth *= 2; -@@ -1769,7 +1769,7 @@ void CPDFSDK_AppStream::SetAsTextField(std::optional<WideString> sValue) { - ByteString sColor = - GetStrokeColorAppStream(widget_->GetBorderPWLColor()); - if (sColor.GetLength() > 0) { -- CPWL_Dash dsBorder = CPWL_Dash(3, 3, 0); -+ CPWL_Dash dsBorder = CPWL_Dash{3, 3, 0}; - AutoClosedQCommand q(&sLines); - sLines << widget_->GetBorderWidth() << " " << kSetLineWidthOperator - << " " -@@ -1876,12 +1876,12 @@ ByteString CPDFSDK_AppStream::GetBorderAppStream() const { - CFX_Color crRightBottom; - - float fBorderWidth = static_cast<float>(widget_->GetBorderWidth()); -- CPWL_Dash dsBorder(3, 0, 0); -+ CPWL_Dash dsBorder{3, 0, 0}; - - BorderStyle nBorderStyle = widget_->GetBorderStyle(); - switch (nBorderStyle) { - case BorderStyle::kDash: -- dsBorder = CPWL_Dash(3, 3, 0); -+ dsBorder = CPWL_Dash{3, 3, 0}; - break; - case BorderStyle::kBeveled: - fBorderWidth *= 2; -diff --git a/fpdfsdk/formfiller/cffl_formfield.cpp b/fpdfsdk/formfiller/cffl_formfield.cpp -index 49edfdaed..bba78eda6 100644 ---- a/fpdfsdk/formfiller/cffl_formfield.cpp -+++ b/fpdfsdk/formfiller/cffl_formfield.cpp -@@ -336,7 +336,7 @@ CPWL_Wnd::CreateParams CFFL_FormField::GetCreateParam() { - cp.nBorderStyle = m_pWidget->GetBorderStyle(); - switch (cp.nBorderStyle) { - case BorderStyle::kDash: -- cp.sDash = CPWL_Dash(3, 3, 0); -+ cp.sDash = CPWL_Dash{3, 3, 0}; - break; - case BorderStyle::kBeveled: - case BorderStyle::kInset: -diff --git a/fpdfsdk/pwl/cpwl_wnd.cpp b/fpdfsdk/pwl/cpwl_wnd.cpp -index 502568709..88b0cf03e 100644 ---- a/fpdfsdk/pwl/cpwl_wnd.cpp -+++ b/fpdfsdk/pwl/cpwl_wnd.cpp -@@ -40,7 +40,7 @@ CPWL_Wnd::CreateParams::CreateParams(CFX_Timer::HandlerIface* timer_handler, - pFillerNotify(filler_notify), - pProvider(provider), - fFontSize(kDefaultFontSize), -- sDash(3, 0, 0) {} -+ sDash{3, 0, 0} {} - - CPWL_Wnd::CreateParams::CreateParams(const CreateParams& other) = default; -
