summaryrefslogtreecommitdiff
path: root/i18npool/inc
diff options
context:
space:
mode:
authorMichael Meeks <michael.meeks@collabora.com>2014-05-09 16:28:18 +0100
committerMichael Meeks <michael.meeks@collabora.com>2014-05-12 10:56:33 +0100
commit69a74afb07c7c58b201d315dbd254bc50b9c9f03 (patch)
tree0c81326a377b22ca3f1946d0797907452cf11d15 /i18npool/inc
parent22259f02b211694525251afcdba12a5d3a43cbae (diff)
Avoid expensive dlopen thrash for break iterators.
Change-Id: I770c1b3e5164cb486b5a5c2b1259f713914a1bae
Diffstat (limited to 'i18npool/inc')
-rw-r--r--i18npool/inc/xdictionary.hxx26
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;