[Libreoffice-commits] core.git: Branch 'libreoffice-4-3' - i18npool/source

Caolán McNamara caolanm at redhat.com
Thu Jul 3 01:38:32 PDT 2014


 i18npool/source/collator/collator_unicode.cxx |    5 +++++
 1 file changed, 5 insertions(+)

New commits:
commit 9153b804cd2a1149a6811db74fa9be594b275391
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Wed Jul 2 12:35:11 2014 +0100

    allow build with icu 4.2
    
    Change-Id: I4bbcff7963520426d4c04e15d2239431aff65b56
    (cherry picked from commit 414540aecae90774e12390cfcf8f0a37e10684b4)
    Reviewed-on: https://gerrit.libreoffice.org/10044
    Reviewed-by: Eike Rathke <erack at redhat.com>
    Tested-by: Eike Rathke <erack at redhat.com>

diff --git a/i18npool/source/collator/collator_unicode.cxx b/i18npool/source/collator/collator_unicode.cxx
index 2960f03..d0aef3f 100644
--- a/i18npool/source/collator/collator_unicode.cxx
+++ b/i18npool/source/collator/collator_unicode.cxx
@@ -333,6 +333,10 @@ Collator_Unicode::loadCollatorAlgorithm(const OUString& rAlgorithm, const lang::
             if (func && funclen) {
                 const sal_uInt8* ruleImage=func();
                 size_t ruleImageSize = funclen();
+
+#if (U_ICU_VERSION_MAJOR_NUM == 4) && (U_ICU_VERSION_MINOR_NUM <= 2)
+                uca_base = new RuleBasedCollator(static_cast<UChar*>(NULL), status);
+#else
                 // Not only changed ICU 53.1 the API behavior that a negative
                 // length (ruleImageSize) now leads to failure, but also that
                 // the base RuleBasedCollator passed as uca_base here needs to
@@ -344,6 +348,7 @@ Collator_Unicode::loadCollatorAlgorithm(const OUString& rAlgorithm, const lang::
                 // NULL (default) locale does not.
                 uca_base = static_cast<RuleBasedCollator*>(icu::Collator::createInstance(
                             icu::Locale::getRoot(), status));
+#endif
                 if (! U_SUCCESS(status)) throw RuntimeException();
                 collator = new RuleBasedCollator(
                         reinterpret_cast<const uint8_t*>(ruleImage), ruleImageSize, uca_base, status);


More information about the Libreoffice-commits mailing list