diff options
author | Michael Meeks <michael.meeks@collabora.com> | 2014-05-09 16:28:18 +0100 |
---|---|---|
committer | Michael Meeks <michael.meeks@collabora.com> | 2014-05-12 10:56:33 +0100 |
commit | 69a74afb07c7c58b201d315dbd254bc50b9c9f03 (patch) | |
tree | 0c81326a377b22ca3f1946d0797907452cf11d15 /i18npool/inc | |
parent | Avoid possible memory leaks in case of exceptions (diff) | |
download | core-69a74afb07c7c58b201d315dbd254bc50b9c9f03.tar.gz core-69a74afb07c7c58b201d315dbd254bc50b9c9f03.zip |
Avoid expensive dlopen thrash for break iterators.
Change-Id: I770c1b3e5164cb486b5a5c2b1259f713914a1bae
Diffstat (limited to 'i18npool/inc')
-rw-r--r-- | i18npool/inc/xdictionary.hxx | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/i18npool/inc/xdictionary.hxx b/i18npool/inc/xdictionary.hxx index 13078e88d5c0..2b1ece0d2447 100644 --- a/i18npool/inc/xdictionary.hxx +++ b/i18npool/inc/xdictionary.hxx @@ -40,17 +40,29 @@ struct WordBreakCache { bool equals(const sal_Unicode *str, Boundary& boundary); // checking cached string }; -class xdictionary +struct xdictionarydata { -private: const sal_uInt8 * existMark; const sal_Int16 * index1; - const sal_Int32 * index2; - const sal_Int32 * lenArray; + const sal_Int32 * index2; + const sal_Int32 * lenArray; const sal_Unicode* dataArea; -#ifndef DISABLE_DYNLOADING - oslModule hModule; -#endif + xdictionarydata() : + existMark( NULL ), + index1( NULL ), + index2( NULL ), + lenArray( NULL ), + dataArea( NULL ) + { + } +}; + +class xdictionary +{ +private: + xdictionarydata data; + void initDictionaryData(const sal_Char *lang); + Boundary boundary; bool japaneseWordBreak; |