external/frozen/UnpackedTarball_frozen.mk | 1 external/frozen/cid1618765_big_param.0 | 13 ++++++++++ xmloff/source/forms/propertyimport.cxx | 39 +++++++++++++++++++++--------- 3 files changed, 42 insertions(+), 11 deletions(-)
New commits: commit b3118bebb5eb942fb2b871617b6591af18349291 Author: Caolán McNamara <caolan.mcnam...@collabora.com> AuthorDate: Sun Sep 1 12:27:38 2024 +0100 Commit: Caolán McNamara <caolan.mcnam...@collabora.com> CommitDate: Sun Sep 1 15:55:30 2024 +0200 split this hunk into a standalone function Change-Id: I5079c615efa09e6db1920892910c810375b42ac5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172718 Reviewed-by: Caolán McNamara <caolan.mcnam...@collabora.com> Tested-by: Caolán McNamara <caolan.mcnam...@collabora.com> diff --git a/xmloff/source/forms/propertyimport.cxx b/xmloff/source/forms/propertyimport.cxx index 0bc5a1fb3abc..0c44b68c78cb 100644 --- a/xmloff/source/forms/propertyimport.cxx +++ b/xmloff/source/forms/propertyimport.cxx @@ -86,6 +86,33 @@ namespace } } +namespace +{ + +Any convertAsEnum(bool bEnumAsInt, const css::uno::Type& _rExpectedType, + std::u16string_view _rReadCharacters, const SvXMLEnumMapEntry<sal_uInt16>* _pEnumMap) +{ + Any aReturn; + + sal_uInt16 nEnumValue(0); + bool bSuccess = SvXMLUnitConverter::convertEnum(nEnumValue, _rReadCharacters, _pEnumMap); + OSL_ENSURE(bSuccess, "PropertyConversion::convertString: could not convert to an enum value!"); + + if (bEnumAsInt) + { + if (TypeClass_SHORT == _rExpectedType.getTypeClass()) + aReturn <<= static_cast<sal_Int16>(nEnumValue); + else + aReturn <<= static_cast<sal_Int32>(nEnumValue); + } + else + aReturn = ::cppu::int2enum(static_cast<sal_Int32>(nEnumValue), _rExpectedType); + + return aReturn; +} + +} + Any PropertyConversion::convertString( const css::uno::Type& _rExpectedType, const OUString& _rReadCharacters, const SvXMLEnumMapEntry<sal_uInt16>* _pEnumMap, const bool _bInvertBoolean ) { @@ -126,17 +153,7 @@ Any PropertyConversion::convertString( const css::uno::Type& _rExpectedType, [[fallthrough]]; case TypeClass_ENUM: { - sal_uInt16 nEnumValue(0); - bool bSuccess = SvXMLUnitConverter::convertEnum(nEnumValue, _rReadCharacters, _pEnumMap); - OSL_ENSURE(bSuccess, "PropertyConversion::convertString: could not convert to an enum value!"); - - if (bEnumAsInt) - if (TypeClass_SHORT == _rExpectedType.getTypeClass()) - aReturn <<= static_cast<sal_Int16>(nEnumValue); - else - aReturn <<= static_cast<sal_Int32>(nEnumValue); - else - aReturn = ::cppu::int2enum(static_cast<sal_Int32>(nEnumValue), _rExpectedType); + aReturn = convertAsEnum(bEnumAsInt, _rExpectedType, _rReadCharacters, _pEnumMap); } break; case TypeClass_HYPER: commit 4064be6b29c791af45d61a7b394130156c44f483 Author: Caolán McNamara <caolan.mcnam...@collabora.com> AuthorDate: Sun Sep 1 12:06:53 2024 +0100 Commit: Caolán McNamara <caolan.mcnam...@collabora.com> CommitDate: Sun Sep 1 15:55:20 2024 +0200 cid#1618765 Big parameter passed by value Change-Id: I16b53c5be24a9698c50c025f7f7cec8cca31ed1f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172717 Reviewed-by: Caolán McNamara <caolan.mcnam...@collabora.com> Tested-by: Caolán McNamara <caolan.mcnam...@collabora.com> diff --git a/external/frozen/UnpackedTarball_frozen.mk b/external/frozen/UnpackedTarball_frozen.mk index 2cfd6802af27..b9ca9aba7438 100644 --- a/external/frozen/UnpackedTarball_frozen.mk +++ b/external/frozen/UnpackedTarball_frozen.mk @@ -15,6 +15,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,frozen,\ external/frozen/cid1532449_use_move_ctor.0 \ external/frozen/cid1586676_use_move_ctor.0 \ external/frozen/cid1538304_reference_ctor.0 \ + external/frozen/cid1618765_big_param.0 \ )) # vim: set noet sw=4 ts=4: diff --git a/external/frozen/cid1618765_big_param.0 b/external/frozen/cid1618765_big_param.0 new file mode 100644 index 000000000000..b6e2f2b56812 --- /dev/null +++ b/external/frozen/cid1618765_big_param.0 @@ -0,0 +1,13 @@ +--- include/frozen/bits/pmh.h 2024-09-01 12:04:54.942684661 +0100 ++++ include/frozen/bits/pmh.h 2024-09-01 12:05:11.899749238 +0100 +@@ -155,8 +155,8 @@ + + constexpr pmh_tables( + std::uint64_t first_seed, +- carray<seed_or_index, M> first_table, +- carray<std::size_t, M> second_table, ++ const carray<seed_or_index, M>& first_table, ++ const carray<std::size_t, M>& second_table, + Hasher hash) noexcept + : Hasher(hash) + , first_seed_(first_seed)