[Libreoffice-commits] core.git: Branch 'libreoffice-4-2' - i18npool/source
Caolán McNamara
caolanm at redhat.com
Thu Jul 3 01:39:59 PDT 2014
i18npool/source/collator/collator_unicode.cxx | 5 +++++
1 file changed, 5 insertions(+)
New commits:
commit 938cf25d7c9c475931a3b6ebc8d84b3e12a05528
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
Reviewed-on: https://gerrit.libreoffice.org/10042
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 42dfef3..35c237d 100644
--- a/i18npool/source/collator/collator_unicode.cxx
+++ b/i18npool/source/collator/collator_unicode.cxx
@@ -308,6 +308,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
@@ -319,6 +323,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