summaryrefslogtreecommitdiff
path: root/i18npool
diff options
context:
space:
mode:
authorKurt Zenker <kz@openoffice.org>2004-07-30 13:42:41 +0000
committerKurt Zenker <kz@openoffice.org>2004-07-30 13:42:41 +0000
commit63594fa547c13cf8d2ae81cd3a27d369c3a054a8 (patch)
treea61d057212af2ae595fd09d0268b87db0e64f0eb /i18npool
parentabda1a301f3f45d326d021ce5aa8c7e5550a6acd (diff)
INTEGRATION: CWS i18n13 (1.10.92); FILE MERGED
2004/05/13 07:16:05 khong 1.10.92.1: #i28829# fix crash problem when none of translation module is loaded
Diffstat (limited to 'i18npool')
-rw-r--r--i18npool/source/transliteration/transliterationImpl.cxx20
1 files changed, 15 insertions, 5 deletions
diff --git a/i18npool/source/transliteration/transliterationImpl.cxx b/i18npool/source/transliteration/transliterationImpl.cxx
index 9a9286a5f204..0ef26751d4e3 100644
--- a/i18npool/source/transliteration/transliterationImpl.cxx
+++ b/i18npool/source/transliteration/transliterationImpl.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: transliterationImpl.cxx,v $
*
- * $Revision: 1.11 $
+ * $Revision: 1.12 $
*
- * last change: $Author: rt $ $Date: 2004-06-17 12:35:27 $
+ * last change: $Author: kz $ $Date: 2004-07-30 14:42:41 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -217,7 +217,7 @@ TransliterationImpl::getType() throw(RuntimeException)
{
if (numCascade > 1)
return (TransliterationType::CASCADE|TransliterationType::IGNORE);
- if (bodyCascade[0].is())
+ if (numCascade > 0 && bodyCascade[0].is())
return(bodyCascade[0]->getType());
throw ERROR;
}
@@ -325,6 +325,9 @@ TransliterationImpl::transliterate( const OUString& inStr, sal_Int32 startPos, s
Sequence< sal_Int32 >& offset ) throw(RuntimeException)
{
+ if (numCascade == 0)
+ return inStr;
+
if (offset.getLength() != nCount)
offset.realloc(nCount);
if (numCascade == 1)
@@ -377,6 +380,9 @@ OUString SAL_CALL
TransliterationImpl::folding( const OUString& inStr, sal_Int32 startPos, sal_Int32 nCount,
Sequence< sal_Int32 >& offset ) throw(RuntimeException)
{
+ if (numCascade == 0)
+ return inStr;
+
if (offset.getLength() != nCount)
offset.realloc(nCount);
if (numCascade == 1)
@@ -425,7 +431,9 @@ TransliterationImpl::folding( const OUString& inStr, sal_Int32 startPos, sal_Int
OUString SAL_CALL
TransliterationImpl::transliterateString2String( const OUString& inStr, sal_Int32 startPos, sal_Int32 nCount ) throw(RuntimeException)
{
- if (numCascade == 1)
+ if (numCascade == 0)
+ return inStr;
+ else if (numCascade == 1)
return bodyCascade[0]->transliterateString2String( inStr, startPos, nCount);
else {
OUString tmpStr = bodyCascade[0]->transliterateString2String(inStr, startPos, nCount);
@@ -439,7 +447,9 @@ TransliterationImpl::transliterateString2String( const OUString& inStr, sal_Int3
OUString SAL_CALL
TransliterationImpl::transliterateChar2String( sal_Unicode inChar ) throw(RuntimeException)
{
- if (numCascade == 1)
+ if (numCascade == 0)
+ return OUString(&inChar, 1);
+ else if (numCascade == 1)
return bodyCascade[0]->transliterateChar2String( inChar);
else {
OUString tmpStr = bodyCascade[0]->transliterateChar2String(inChar);