--- Begin Message ---
Package: release.debian.org
Severity: normal
Tags: bullseye
User: release.debian....@packages.debian.org
Usertags: pu
[ Reason ]
1) It seems the volution adress book is broken since 2015 due to a evolution
change. Apparently noone noticed until 2021, where I backported the patch
but then
actually forgot to request a stable update
2) Croatia will join the Eurozone on 2023-01-01. I think we should
prepare.
TODO: After (or shortly before) 2023-01-01 we then can do a point release
update
to switch the default...
[ Impact ]
for 1) it stays broken.
for 2) EUR isn't supported in .hr locale
[ Tests ]
None, ttbomk.
[ Risks ]
for 2) trivial, and doesn't yet affect the default
for 1) it is a bigger patch but upstream since 2021. No regression known
and if it should regress, it can't get more broken than "broken".
[ Checklist ]
[x] *all* changes are documented in the d/changelog
[x] I reviewed all changes and I approve them
[x] attach debdiff against the package in (old)stable
[ ] the issue is verified as fixed in unstable
(2) is not yet fixed in unstable, that will happen with the upload of
7.4.0 rc2 (or someting later) to it
[ Changes ]
See above. I just added the verbatim upstream commits.
Debdiff attached.
[ Other info ]
As said, for 2) we need a new update to switch the default later.
Regards,
Rene
diff --git a/changelog b/changelog
index bdd1d149..2baf8b2f 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,12 @@
+libreoffice (1:7.0.4-4+deb11u2) stable; urgency=medium
+
+ * debian/patches/fix-e_book_client_connect_direct_sync-sig.diff:
+ as name says; from libreoffice-7-2 branch
+ * debian/patches/hrk-euro.diff: add EUR to .hr i18n;
+ add HRK<->EUR conversion rate to Calc and the Euro Wizard
+
+ -- Rene Engelhard <r...@debian.org> Mon, 25 Jul 2022 17:47:13 +0200
+
libreoffice (1:7.0.4-4+deb11u1) bullseye-security; urgency=high
* backport fixes from libreoffice-7-0 branch:
diff --git a/patches/fix-e_book_client_connect_direct_sync-sig.diff
b/patches/fix-e_book_client_connect_direct_sync-sig.diff
new file mode 100644
index 00000000..7aef915e
--- /dev/null
+++ b/patches/fix-e_book_client_connect_direct_sync-sig.diff
@@ -0,0 +1,417 @@
+From 3b9210195b8d2ac9861a1e607455ff9d16eb68fd Mon Sep 17 00:00:00 2001
+From: Julien Nabet <serval2...@yahoo.fr>
+Date: Wed, 15 Dec 2021 22:45:47 +0100
+Subject: [PATCH] tdf#137101: fix e_book_client_connect_direct_sync signature
+ in Evolution
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+since it changed in 2015, see all details from tdf#137101
+Thank you to krumelmonster for having spotted this!
+
++ some cleanup to remove all eds_check_version calls
+and dependencies
+
+Change-Id: Iaf2437f8f5c04ab9674a380dac1dfb16ec8c7201
+Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126898
+Tested-by: Jenkins
+Tested-by: Caolán McNamara <caol...@redhat.com>
+Reviewed-by: Caolán McNamara <caol...@redhat.com>
+(cherry picked from commit 0661c796c767802c114441ad9a17fd0979d72ef4)
+Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126920
+---
+ connectivity/source/drivers/evoab2/EApi.cxx | 54 +-------
+ connectivity/source/drivers/evoab2/EApi.h | 2 +-
+ .../drivers/evoab2/NDatabaseMetaData.cxx | 121 +++++------------
+ .../source/drivers/evoab2/NResultSet.cxx | 125 +-----------------
+ 4 files changed, 39 insertions(+), 263 deletions(-)
+
+diff --git a/connectivity/source/drivers/evoab2/EApi.cxx
b/connectivity/source/drivers/evoab2/EApi.cxx
+index 12096bdade87..ebe710dedb57 100644
+--- a/connectivity/source/drivers/evoab2/EApi.cxx
++++ b/connectivity/source/drivers/evoab2/EApi.cxx
+@@ -23,16 +23,7 @@
+ static const char *eBookLibNames[] = {
+ "libebook-1.2.so.20", // evolution-data-server 3.33.2+
+ "libebook-1.2.so.19", // evolution-data-server 3.24+
+- "libebook-1.2.so.16",
+- "libebook-1.2.so.15",
+- "libebook-1.2.so.14", // bumped again (evolution-3.6)
+- "libebook-1.2.so.13", // bumped again (evolution-3.4)
+- "libebook-1.2.so.12", // bumped again
+- "libebook-1.2.so.10", // bumped again
+- "libebook-1.2.so.9", // evolution-2.8
+- "libebook-1.2.so.5", // evolution-2.4 and 2.6+
+- "libebook-1.2.so.3", // evolution-2.2
+- "libebook.so.8" // evolution-2.0
++ "libebook-1.2.so.16"
+ };
+
+ typedef void (*SymbolFunc) ();
+@@ -71,19 +62,6 @@ static const ApiMap aCommonApiMap[] =
+ SYM_MAP( e_book_query_field_exists )
+ };
+
+-//< 3.6 api
+-static const ApiMap aOldApiMap[] =
+-{
+- SYM_MAP( e_book_get_addressbooks ),
+- SYM_MAP( e_book_get_uri ),
+- SYM_MAP( e_book_authenticate_user ),
+- SYM_MAP( e_source_group_peek_base_uri),
+- SYM_MAP( e_source_peek_name ),
+- SYM_MAP( e_source_get_property ),
+- SYM_MAP( e_source_list_peek_groups ),
+- SYM_MAP( e_source_group_peek_sources )
+-};
+-
+ //>= 3.6 api
+ static const ApiMap aNewApiMap[] =
+ {
+@@ -101,12 +79,6 @@ static const ApiMap aNewApiMap[] =
+ SYM_MAP( e_client_util_free_object_slist )
+ };
+
+-//== indirect read access (3.6 only)
+-static const ApiMap aClientApiMap36[] =
+-{
+- SYM_MAP( e_book_client_new )
+-};
+-
+ //>= direct read access API (>= 3.8)
+ static const ApiMap aClientApiMap38[] =
+ {
+@@ -144,33 +116,14 @@ bool EApiInit()
+
+ if (tryLink( aModule, eBookLibNames[ j ], aCommonApiMap))
+ {
+- if (eds_check_version( 3, 6, 0 ) != nullptr)
++ if (tryLink( aModule, eBookLibNames[ j ], aNewApiMap))
+ {
+- if (tryLink( aModule, eBookLibNames[ j ], aOldApiMap))
++ if (tryLink( aModule, eBookLibNames[ j ], aClientApiMap38))
+ {
+ aModule.release();
+ return true;
+ }
+ }
+- else if (tryLink( aModule, eBookLibNames[ j ], aNewApiMap))
+- {
+- if (eds_check_version( 3, 7, 6 ) != nullptr)
+- {
+- if (tryLink( aModule, eBookLibNames[ j ],
aClientApiMap36))
+- {
+- aModule.release();
+- return true;
+- }
+- }
+- else
+- {
+- if (tryLink( aModule, eBookLibNames[ j ],
aClientApiMap38))
+- {
+- aModule.release();
+- return true;
+- }
+- }
+- }
+ }
+ }
+ fprintf( stderr, "Can find no compliant libebook client libraries\n" );
+diff --git a/connectivity/source/drivers/evoab2/EApi.h
b/connectivity/source/drivers/evoab2/EApi.h
+index 8c05f95fa2ce..928786d79f00 100644
+--- a/connectivity/source/drivers/evoab2/EApi.h
++++ b/connectivity/source/drivers/evoab2/EApi.h
+@@ -147,7 +147,7 @@ EAPI_EXTERN const gchar* (*eds_check_version) (guint
required_major, guint requi
+ EAPI_EXTERN const gchar* (*e_source_get_uid) (ESource *source);
+ EAPI_EXTERN ESource* (*e_source_registry_ref_source) (ESourceRegistry
*registry, const gchar *uid);
+ EAPI_EXTERN EBookClient* (*e_book_client_new) (ESource *source, GError
**error);
+-EAPI_EXTERN EBookClient* (*e_book_client_connect_direct_sync)
(ESourceRegistry *registry, ESource *source, GCancellable *cancellable, GError
**error);
++EAPI_EXTERN EBookClient* (*e_book_client_connect_direct_sync)
(ESourceRegistry *registry, ESource *source, guint32
wait_for_connected_seconds, GCancellable *cancellable, GError **error);
+ EAPI_EXTERN gboolean (*e_client_open_sync) (EClient *client, gboolean
only_if_exists, GCancellable *cancellable, GError **error);
+ EAPI_EXTERN ESource* (*e_client_get_source) (EClient *client);
+ EAPI_EXTERN gboolean (*e_book_client_get_contacts_sync) (EBookClient *client,
const gchar *sexp, GSList **contacts, GCancellable *cancellable, GError
**error);
+diff --git a/connectivity/source/drivers/evoab2/NDatabaseMetaData.cxx
b/connectivity/source/drivers/evoab2/NDatabaseMetaData.cxx
+index 9eb6f1d34862..783d9728784f 100644
+--- a/connectivity/source/drivers/evoab2/NDatabaseMetaData.cxx
++++ b/connectivity/source/drivers/evoab2/NDatabaseMetaData.cxx
+@@ -1106,103 +1106,50 @@ Reference< XResultSet > SAL_CALL
OEvoabDatabaseMetaData::getTables(
+
+ ODatabaseMetaDataResultSet::ORows aRows;
+
+- if (eds_check_version(3, 6, 0) == nullptr)
+- {
+- GList *pSources =
e_source_registry_list_sources(get_e_source_registry(),
E_SOURCE_EXTENSION_ADDRESS_BOOK);
++ GList *pSources = e_source_registry_list_sources(get_e_source_registry(),
E_SOURCE_EXTENSION_ADDRESS_BOOK);
+
+- for (GList* liter = pSources; liter; liter = liter->next)
+- {
+- ESource *pSource = E_SOURCE (liter->data);
+- bool can = false;
+- switch (m_pConnection->getSDBCAddressType())
+- {
+- case SDBCAddress::EVO_GWISE:
+- can = isSourceBackend( pSource, "groupwise"); // not
supported in evo/eds 3.6.x+, somehow
+- break;
+- case SDBCAddress::EVO_LOCAL:
+- can = isSourceBackend( pSource, "local");
+- break;
+- case SDBCAddress::EVO_LDAP:
+- can = isSourceBackend( pSource, "ldap");
+- break;
+- case SDBCAddress::Unknown:
+- can = true;
+- break;
+- }
+- if (!can)
+- continue;
+-
+- OUString aHumanName = OStringToOUString(
e_source_get_display_name( pSource ),
+-
RTL_TEXTENCODING_UTF8 );
+- OUString aUID = OStringToOUString( e_source_get_uid( pSource ),
+-
RTL_TEXTENCODING_UTF8 );
+- ODatabaseMetaDataResultSet::ORow aRow{
+- ORowSetValueDecoratorRef(),
+- ORowSetValueDecoratorRef(),
+- ORowSetValueDecoratorRef(),
+- new ORowSetValueDecorator(aHumanName), //tablename
+- new ORowSetValueDecorator(aTable),
+- new ORowSetValueDecorator(aUID)}; //comment
+- //I'd prefer to swap the comment and the human name and
+- //just use e_source_registry_ref_source(get_e_source_registry(),
aUID);
+- //in open book rather than search for the name again
+- aRows.push_back(aRow);
+- }
+-
+- g_list_foreach (pSources, reinterpret_cast<GFunc>(g_object_unref),
nullptr);
+- g_list_free (pSources);
+- }
+- else
++ for (GList* liter = pSources; liter; liter = liter->next)
+ {
+- ESourceList *pSourceList;
+- if( !e_book_get_addressbooks (&pSourceList, nullptr) )
+- pSourceList = nullptr;
+-
+- GSList *g;
+- for( g = e_source_list_peek_groups( pSourceList ); g; g = g->next)
++ ESource *pSource = E_SOURCE (liter->data);
++ bool can = false;
++ switch (m_pConnection->getSDBCAddressType())
+ {
+- GSList *s;
+- const char *p =
e_source_group_peek_base_uri(E_SOURCE_GROUP(g->data));
+-
+- switch (m_pConnection->getSDBCAddressType()) {
+ case SDBCAddress::EVO_GWISE:
+- if ( !strncmp( "groupwise://", p, 11 ))
+- break;
+- else
+- continue;
++ can = isSourceBackend( pSource, "groupwise"); // not supported
in evo/eds 3.6.x+, somehow
++ break;
+ case SDBCAddress::EVO_LOCAL:
+- if ( !strncmp( "file://", p, 6 ) ||
+- !strncmp( "local://", p, 6 ) )
+- break;
+- else
+- continue;
++ can = isSourceBackend( pSource, "local");
++ break;
+ case SDBCAddress::EVO_LDAP:
+- if ( !strncmp( "ldap://", p, 6 ))
+- break;
+- else
+- continue;
++ can = isSourceBackend( pSource, "ldap");
++ break;
+ case SDBCAddress::Unknown:
++ can = true;
+ break;
+- }
+- for (s = e_source_group_peek_sources (E_SOURCE_GROUP (g->data));
s; s = s->next)
+- {
+- ESource *pSource = E_SOURCE (s->data);
+-
+- OUString aName = OStringToOUString( e_source_peek_name(
pSource ),
+-
RTL_TEXTENCODING_UTF8 );
+-
+- ODatabaseMetaDataResultSet::ORow aRow{
+- ORowSetValueDecoratorRef(),
+- ORowSetValueDecoratorRef(),
+- ORowSetValueDecoratorRef(),
+- new ORowSetValueDecorator(aName),
+- new ORowSetValueDecorator(aTable),
+- ODatabaseMetaDataResultSet::getEmptyValue()};
+- aRows.push_back(aRow);
+- }
+ }
++ if (!can)
++ continue;
++
++ OUString aHumanName = OStringToOUString( e_source_get_display_name(
pSource ),
++ RTL_TEXTENCODING_UTF8 );
++ OUString aUID = OStringToOUString( e_source_get_uid( pSource ),
++ RTL_TEXTENCODING_UTF8 );
++ ODatabaseMetaDataResultSet::ORow aRow{
++ ORowSetValueDecoratorRef(),
++ ORowSetValueDecoratorRef(),
++ ORowSetValueDecoratorRef(),
++ new ORowSetValueDecorator(aHumanName), //tablename
++ new ORowSetValueDecorator(ORowSetValue(aTable)),
++ new ORowSetValueDecorator(aUID)}; //comment
++ //I'd prefer to swap the comment and the human name and
++ //just use e_source_registry_ref_source(get_e_source_registry(),
aUID);
++ //in open book rather than search for the name again
++ aRows.push_back(aRow);
+ }
+
++ g_list_foreach (pSources, reinterpret_cast<GFunc>(g_object_unref),
nullptr);
++ g_list_free (pSources);
++
+ pResult->setRows(aRows);
+
+ return xRef;
+diff --git a/connectivity/source/drivers/evoab2/NResultSet.cxx
b/connectivity/source/drivers/evoab2/NResultSet.cxx
+index 77d53939c1aa..2e15f245b8c8 100644
+--- a/connectivity/source/drivers/evoab2/NResultSet.cxx
++++ b/connectivity/source/drivers/evoab2/NResultSet.cxx
+@@ -477,123 +477,7 @@ class OEvoabVersion38Helper : public
OEvoabVersion36Helper
+ protected:
+ virtual EBookClient * createClient( ESource *pSource ) override
+ {
+- return e_book_client_connect_direct_sync (get_e_source_registry (),
pSource, nullptr, nullptr);
+- }
+-};
+-
+-ESource * findSource( const char *id )
+-{
+- ESourceList *pSourceList = nullptr;
+-
+- g_return_val_if_fail (id != nullptr, nullptr);
+-
+- if (!e_book_get_addressbooks (&pSourceList, nullptr))
+- pSourceList = nullptr;
+-
+- for ( GSList *g = e_source_list_peek_groups (pSourceList); g; g = g->next)
+- {
+- for (GSList *s = e_source_group_peek_sources (E_SOURCE_GROUP
(g->data)); s; s = s->next)
+- {
+- ESource *pSource = E_SOURCE (s->data);
+- if (!strcmp (e_source_peek_name (pSource), id))
+- return pSource;
+- }
+- }
+- return nullptr;
+-}
+-
+-bool isAuthRequired( EBook *pBook )
+-{
+- return e_source_get_property( e_book_get_source( pBook ),
+- "auth" ) != nullptr;
+-}
+-
+-class OEvoabVersion35Helper : public OEvoabVersionHelper
+-{
+-private:
+- GList *m_pContacts;
+-
+-public:
+- OEvoabVersion35Helper()
+- : m_pContacts(nullptr)
+- {
+- }
+-
+- virtual ~OEvoabVersion35Helper() override
+- {
+- freeContacts();
+- }
+-
+- virtual EBook* openBook(const char *abname) override
+- {
+- ESource *pSource = findSource (abname);
+- EBook *pBook = pSource ? e_book_new (pSource, nullptr) : nullptr;
+- if (pBook && !e_book_open (pBook, true, nullptr))
+- {
+- g_object_unref (G_OBJECT (pBook));
+- pBook = nullptr;
+- }
+- return pBook;
+- }
+-
+- virtual bool isLDAP( EBook *pBook ) override
+- {
+- return pBook && !strncmp( "ldap://", e_book_get_uri( pBook ), 6 );
+- }
+-
+- virtual bool isLocal( EBook *pBook ) override
+- {
+- return pBook && ( !strncmp( "file://", e_book_get_uri( pBook ), 6 ) ||
+- !strncmp( "local:", e_book_get_uri( pBook ), 6 ) );
+- }
+-
+- virtual void freeContacts() override final
+- {
+- g_list_free(m_pContacts);
+- m_pContacts = nullptr;
+- }
+-
+- virtual void executeQuery (EBook* pBook, EBookQuery* pQuery, OString
&rPassword) override
+- {
+- freeContacts();
+-
+- ESource *pSource = e_book_get_source( pBook );
+- bool bAuthSuccess = true;
+-
+- if( isAuthRequired( pBook ) )
+- {
+- OString aUser( getUserName( pBook ) );
+- const char *pAuth = e_source_get_property( pSource, "auth" );
+- bAuthSuccess = e_book_authenticate_user( pBook, aUser.getStr(),
rPassword.getStr(), pAuth, nullptr );
+- }
+-
+- if (bAuthSuccess)
+- e_book_get_contacts( pBook, pQuery, &m_pContacts, nullptr );
+- }
+-
+- virtual EContact *getContact(sal_Int32 nIndex) override
+- {
+- gpointer pData = g_list_nth_data (m_pContacts, nIndex);
+- return pData ? E_CONTACT (pData) : nullptr;
+- }
+-
+- virtual sal_Int32 getNumContacts() override
+- {
+- return g_list_length( m_pContacts );
+- }
+-
+- virtual bool hasContacts() override
+- {
+- return m_pContacts != nullptr;
+- }
+-
+- virtual void sortContacts( const ComparisonData& _rCompData ) override
+- {
+- OSL_ENSURE( !_rCompData.rSortOrder.empty(), "sortContacts: no need to
call this without any sort order!" );
+- ENSURE_OR_THROW( _rCompData.aIntlWrapper.getCaseCollator(), "no
collator for comparing strings" );
+-
+- m_pContacts = g_list_sort_with_data( m_pContacts, &CompareContacts,
+- const_cast< gpointer >( static_cast< gconstpointer >( &_rCompData
) ) );
++ return e_book_client_connect_direct_sync (get_e_source_registry (),
pSource, 10, nullptr, nullptr);
+ }
+ };
+
+@@ -612,12 +496,7 @@ OEvoabResultSet::OEvoabResultSet( OCommonStatement*
pStmt, OEvoabConnection *pCo
+ ,m_nIndex(-1)
+ ,m_nLength(0)
+ {
+- if (eds_check_version( 3, 7, 6 ) == nullptr)
+- m_pVersionHelper = std::make_unique<OEvoabVersion38Helper>();
+- else if (eds_check_version( 3, 6, 0 ) == nullptr)
+- m_pVersionHelper = std::make_unique<OEvoabVersion36Helper>();
+- else
+- m_pVersionHelper = std::make_unique<OEvoabVersion35Helper>();
++ m_pVersionHelper = std::make_unique<OEvoabVersion38Helper>();
+
+ #define REGISTER_PROP( id, member ) \
+ registerProperty( \
diff --git a/patches/hrk-euro.diff b/patches/hrk-euro.diff
new file mode 100644
index 00000000..b4fbe69a
--- /dev/null
+++ b/patches/hrk-euro.diff
@@ -0,0 +1,156 @@
+From 7c4b2db21ef77b37daf234ac1ab9989234606a22 Mon Sep 17 00:00:00 2001
+From: Eike Rathke <er...@redhat.com>
+Date: Fri, 22 Jul 2022 22:12:02 +0200
+Subject: Resolves: tdf#150011 Add HRK Croatian Kuna conversion to EUR Euro
+
+TODO: switch defaults before 2023-01-01 in
+i18npool/source/localedata/data/hr_HR.xml
+
+Change-Id: Ifc62aefbc8c9fe8bbf044f61ae4fd6eeff692185
+Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137371
+Reviewed-by: Eike Rathke <er...@redhat.com>
+Tested-by: Jenkins
+---
+ i18npool/source/localedata/data/hr_HR.xml | 8 ++++++++
+ officecfg/registry/data/org/openoffice/Office/Calc.xcu | 11 +++++++++++
+ sc/source/core/tool/interpr2.cxx | 3 ++-
+ 3 files changed, 21 insertions(+), 1 deletion(-)
+
+diff --git a/i18npool/source/localedata/data/hr_HR.xml
b/i18npool/source/localedata/data/hr_HR.xml
+index 0c493131e16b..4de83e5535cd 100644
+--- a/i18npool/source/localedata/data/hr_HR.xml
++++ b/i18npool/source/localedata/data/hr_HR.xml
+@@ -421,6 +421,14 @@
+ <CurrencyName>Hrvatska Kuna</CurrencyName>
+ <DecimalPlaces>2</DecimalPlaces>
+ </Currency>
++ <!-- TODO: switch defaults before 2023-01-01 -->
++ <Currency default="false" usedInCompatibleFormatCodes="false">
++ <CurrencyID>EUR</CurrencyID>
++ <CurrencySymbol>€</CurrencySymbol>
++ <BankSymbol>EUR</BankSymbol>
++ <CurrencyName>Euro</CurrencyName>
++ <DecimalPlaces>2</DecimalPlaces>
++ </Currency>
+ </LC_CURRENCY>
+ <LC_TRANSLITERATION>
+ <Transliteration unoid="SENTENCE_CASE"/>
+diff --git a/officecfg/registry/data/org/openoffice/Office/Calc.xcu
b/officecfg/registry/data/org/openoffice/Office/Calc.xcu
+index a62d06512704..eda60fe6c434 100644
+--- a/officecfg/registry/data/org/openoffice/Office/Calc.xcu
++++ b/officecfg/registry/data/org/openoffice/Office/Calc.xcu
+@@ -228,6 +228,17 @@
+ <value>3.45280</value>
+ </prop>
+ </node>
++ <node oor:name="CR20" oor:op="replace">
++ <prop oor:name="FromUnit">
++ <value>EUR</value>
++ </prop>
++ <prop oor:name="ToUnit">
++ <value>HRK</value>
++ </prop>
++ <prop oor:name="Factor">
++ <value>7.53450</value>
++ </prop>
++ </node>
+ </node>
+ <node oor:name="Calculate">
+ <node oor:name="Other">
+diff --git a/sc/source/core/tool/interpr2.cxx
b/sc/source/core/tool/interpr2.cxx
+index 31c42a4b728a..67fcd9f787f8 100644
+--- a/sc/source/core/tool/interpr2.cxx
++++ b/sc/source/core/tool/interpr2.cxx
+@@ -3235,7 +3235,8 @@ static bool lclConvertMoney( const OUString&
aSearchUnit, double& rfRate, int& r
+ { "SKK", 30.1260, 2 },
+ { "EEK", 15.6466, 2 },
+ { "LVL", 0.702804, 2 },
+- { "LTL", 3.45280, 2 }
++ { "LTL", 3.45280, 2 },
++ { "HRK", 7.53450, 2 }
+ };
+
+ for (const auto & i : aConvertTable)
+--
+cgit v1.2.1
+
+From b1a2f727ca99ecd3402d4b051b99cbfd24266e59 Mon Sep 17 00:00:00 2001
+From: Eike Rathke <er...@redhat.com>
+Date: Fri, 22 Jul 2022 22:17:11 +0200
+Subject: Related: tdf#150011 Add HRK Croatian Kuna to Euro conversion wizard
+
+Maybe just for completeness, it's removed from menu but might be
+callable as macro.
+
+Change-Id: Iade0be845186d3deb2f00f4aaa230c0b344cea72
+Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137372
+Reviewed-by: Eike Rathke <er...@redhat.com>
+Tested-by: Jenkins
+---
+ wizards/source/euro/Init.xba | 16 ++++++++++++++++
+ wizards/source/resources/resources_en_US.properties | 1 +
+ 2 files changed, 17 insertions(+)
+
+diff --git a/wizards/source/euro/Init.xba b/wizards/source/euro/Init.xba
+index 623a0a53be46..9f56c503a347 100644
+--- a/wizards/source/euro/Init.xba
++++ b/wizards/source/euro/Init.xba
+@@ -89,6 +89,7 @@ Public sCurrSLOVAK as String
+ Public sCurrESTONIAN as String
+ Public sCurrLATVIAN as String
+ Public sCurrLITHUANIAN as String
++Public sCurrCROATIAN as String
+
+ Public sPrgsRETRIEVAL as String
+ Public sPrgsCONVERTING as String
+@@ -214,6 +215,7 @@ Dim LocWorkPath as String
+ sCurrESTONIAN = GetResText("CURRENCIES_16")
+ sCurrLATVIAN = GetResText("CURRENCIES_17")
+ sCurrLITHUANIAN = GetResText("CURRENCIES_18")
++ sCurrCROATIAN = GetResText("CURRENCIES_19")
+ .cmdCancel.Label = sCANCEL
+ .cmdHelp.Label = sHELP
+ .cmdBack.Label = GetResText("STEP_ZERO_2")
+@@ -393,6 +395,11 @@ Sub InitializeLanguages()
+ LangIDValue(18,0,1) = "LT"
+ LangIDValue(18,0,2) = "-427"
+
++' CURRENCIES_CROATIAN
++ LangIDValue(19,0,0) = "hr"
++ LangIDValue(19,0,1) = "HR"
++ LangIDValue(19,0,2) = "-41A"
++
+ End Sub
+
+
+@@ -572,6 +579,15 @@ Dim i as Integer
+ CurrValue(18,4) = "Lt"
+ CurrValue(18,5) = "LTL"
+
++ CurrValue(19,0) = sCurrCROATIAN
++ ' real conversion rate
++ CurrValue(19,1) = 7.53450
++ ' rounded conversion rate
++ CurrValue(19,2) = 7.5
++ CurrValue(19,3) = "kn"
++ CurrValue(19,4) = "kn"
++ CurrValue(19,5) = "HRK"
++
+ i = -1
+ CurrSymbolList(0) = ""
+ CurrSymbolList(1) = ""
+diff --git a/wizards/source/resources/resources_en_US.properties
b/wizards/source/resources/resources_en_US.properties
+index 32f9104e97e0..8649b2500e6a 100644
+--- a/wizards/source/resources/resources_en_US.properties
++++ b/wizards/source/resources/resources_en_US.properties
+@@ -448,6 +448,7 @@ CURRENCIES_15=Slovak Koruna
+ CURRENCIES_16=Estonian Kroon
+ CURRENCIES_17=Latvian Lats
+ CURRENCIES_18=Lithuanian Litas
++CURRENCIES_19=Croatian Kuna
+ STEP_LASTPAGE_0=Progress
+ STEP_LASTPAGE_1=Retrieving the relevant documents...
+ STEP_LASTPAGE_2=Converting the documents...
+--
+cgit v1.2.1
+
diff --git a/patches/series b/patches/series
index d7c5a79c..49c11aa3 100644
--- a/patches/series
+++ b/patches/series
@@ -56,3 +56,5 @@ xmlsecurity-XSecParser-confused-about-multiple-timestamps.diff
xmlsecurity-ignore-elements-in-ds:Object-that-arent-signed.diff
default-to-CertificateValidity::INVALID.diff
xmlsecurity-improve-handling-of-multiple-X509Data-elements.diff
+fix-e_book_client_connect_direct_sync-sig.diff
+hrk-euro.diff
--- End Message ---