summaryrefslogtreecommitdiff
path: root/svx
diff options
context:
space:
mode:
authorRüdiger Timm <rt@openoffice.org>2005-04-04 07:30:57 +0000
committerRüdiger Timm <rt@openoffice.org>2005-04-04 07:30:57 +0000
commit886f665c31404589fe42da27abc8d537640b35ba (patch)
treeb95c8a1888c93a10830563dd932920d1bb17ade1 /svx
parent6843b434747f00850d4d00ce02b6fd5b7d8fb93d (diff)
INTEGRATION: CWS tl07 (1.50.50); FILE MERGED
2004/12/10 09:42:25 tl 1.50.50.1: #i38734# added some pointer checks
Diffstat (limited to 'svx')
-rw-r--r--svx/source/options/optlingu.cxx72
1 files changed, 48 insertions, 24 deletions
diff --git a/svx/source/options/optlingu.cxx b/svx/source/options/optlingu.cxx
index 3974cd728c99..07a4593d392a 100644
--- a/svx/source/options/optlingu.cxx
+++ b/svx/source/options/optlingu.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: optlingu.cxx,v $
*
- * $Revision: 1.50 $
+ * $Revision: 1.51 $
*
- * last change: $Author: obo $ $Date: 2004-11-15 14:51:46 $
+ * last change: $Author: rt $ $Date: 2005-04-04 08:30:57 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -717,8 +717,8 @@ Sequence< OUString > SvxLinguData_Impl::GetSortedImplNames( INT16 nLang, BYTE nT
if (aImplName.getLength() && (lcl_SeqGetIndex( aRes, aImplName) == -1)) // name not yet added
{
- DBG_ASSERT( nIdx < aRes.getLength(), "index out of range" );
- if (nIdx < aRes.getLength())
+ DBG_ASSERT( nIdx < aRes.getLength(), "index out of range" );
+ if (nIdx < aRes.getLength())
pRes[ nIdx++ ] = aImplName;
}
}
@@ -781,6 +781,11 @@ void lcl_MergeDisplayArray(
SvxLinguData_Impl &rData,
const ServiceInfo_Impl* pToAdd )
{
+ DBG_ASSERT( pToAdd,
+ "lcl_MergeDisplayArray: tried to merge 0 pointer. Data missing?" );
+ if (!pToAdd)
+ return;
+
ULONG nCnt = 0;
ServiceInfoArr &rSvcInfoArr = rData.GetDisplayServiceArray();
@@ -1546,10 +1551,11 @@ void SvxLinguTabPage::UpdateModulesBox_Impl()
for (USHORT i = 0; i < nDispSrvcCount; ++i)
{
pInfo = rAllDispSrvcArr.Get(i);
- aLinguModulesCLB.InsertEntry(pInfo->sDisplayName);
+ DBG_ASSERT( pInfo, "UpdateModulesBox_Impl: data missing" );
+ aLinguModulesCLB.InsertEntry( pInfo ? pInfo->sDisplayName : C2U("!! missing entry !!") );
SvLBoxEntry* pEntry = aLinguModulesCLB.GetEntry(i);
pEntry->SetUserData( (void *) pInfo );
- aLinguModulesCLB.CheckEntryPos( i, pInfo->bConfigured );
+ aLinguModulesCLB.CheckEntryPos( i, pInfo ? pInfo->bConfigured : FALSE );
}
aLinguModulesEditPB.Enable( nDispSrvcCount > 0 );
}
@@ -2336,19 +2342,25 @@ IMPL_LINK( SvxEditModulesDlg, LangSelectHdl_Impl, ListBox *, pBox )
sal_Int32 nLocalIndex = 0; // index relative to parent
for (n = 0; n < nNames; ++n)
{
+ OUString aImplName;
+ BOOL bIsSuppLang = FALSE;
+
pInfo = rLinguData.GetInfoByImplName( pName[n] );
- BOOL bIsSuppLang = pInfo->xSpell.is() &&
- pInfo->xSpell->hasLocale( aCurLocale );
- const OUString &rImplName = pInfo->sSpellImplName;
- if (rImplName.getLength() && bIsSuppLang)
+ if (pInfo)
+ {
+ bIsSuppLang = pInfo->xSpell.is() &&
+ pInfo->xSpell->hasLocale( aCurLocale );
+ aImplName = pInfo->sSpellImplName;
+ }
+ if (aImplName.getLength() && bIsSuppLang)
{
String aTxt( pInfo->sDisplayName );
SvLBoxEntry* pEntry = CreateEntry( aTxt, CBCOL_FIRST );
const Sequence< OUString > *pCfgImplNames = rLinguData.GetSpellTable().Get( eCurLanguage );
DBG_ASSERT( pCfgImplNames, "pCfgImplNames missing" );
- BOOL bChecked = pCfgImplNames && lcl_SeqGetEntryPos( *pCfgImplNames, rImplName ) >= 0;
+ BOOL bChecked = pCfgImplNames && lcl_SeqGetEntryPos( *pCfgImplNames, aImplName ) >= 0;
lcl_SetCheckButton( pEntry, bChecked );
- pUserData = new ModuleUserData_Impl( rImplName, FALSE,
+ pUserData = new ModuleUserData_Impl( aImplName, FALSE,
bChecked, TYPE_SPELL, (BYTE)nLocalIndex++ );
pEntry->SetUserData( (void *)pUserData );
pModel->Insert( pEntry );
@@ -2369,19 +2381,25 @@ IMPL_LINK( SvxEditModulesDlg, LangSelectHdl_Impl, ListBox *, pBox )
nLocalIndex = 0;
for (n = 0; n < nNames; ++n)
{
+ OUString aImplName;
+ BOOL bIsSuppLang = FALSE;
+
pInfo = rLinguData.GetInfoByImplName( pName[n] );
- BOOL bIsSuppLang = pInfo->xHyph.is() &&
- pInfo->xHyph->hasLocale( aCurLocale );
- const OUString &rImplName = pInfo->sHyphImplName;
- if (rImplName.getLength() && bIsSuppLang)
+ if (pInfo)
+ {
+ bIsSuppLang = pInfo->xHyph.is() &&
+ pInfo->xHyph->hasLocale( aCurLocale );
+ aImplName = pInfo->sHyphImplName;
+ }
+ if (aImplName.getLength() && bIsSuppLang)
{
String aTxt( pInfo->sDisplayName );
SvLBoxEntry* pEntry = CreateEntry( aTxt, CBCOL_FIRST );
const Sequence< OUString > *pCfgImplNames = rLinguData.GetHyphTable().Get( eCurLanguage );
DBG_ASSERT( pCfgImplNames, "pCfgImplNames missing" );
- BOOL bChecked = pCfgImplNames && lcl_SeqGetEntryPos( *pCfgImplNames, rImplName ) >= 0;
+ BOOL bChecked = pCfgImplNames && lcl_SeqGetEntryPos( *pCfgImplNames, aImplName ) >= 0;
lcl_SetCheckButton( pEntry, bChecked );
- pUserData = new ModuleUserData_Impl( rImplName, FALSE,
+ pUserData = new ModuleUserData_Impl( aImplName, FALSE,
bChecked, TYPE_HYPH, (BYTE)nLocalIndex++ );
pEntry->SetUserData( (void *)pUserData );
pModel->Insert( pEntry );
@@ -2402,19 +2420,25 @@ IMPL_LINK( SvxEditModulesDlg, LangSelectHdl_Impl, ListBox *, pBox )
nLocalIndex = 0;
for (n = 0; n < nNames; ++n)
{
+ OUString aImplName;
+ BOOL bIsSuppLang = FALSE;
+
pInfo = rLinguData.GetInfoByImplName( pName[n] );
- BOOL bIsSuppLang = pInfo->xThes.is() &&
- pInfo->xThes->hasLocale( aCurLocale );
- const OUString &rImplName = pInfo->sThesImplName;
- if (rImplName.getLength() && bIsSuppLang)
+ if (pInfo)
+ {
+ bIsSuppLang = pInfo->xThes.is() &&
+ pInfo->xThes->hasLocale( aCurLocale );
+ aImplName = pInfo->sThesImplName;
+ }
+ if (aImplName.getLength() && bIsSuppLang)
{
String aTxt( pInfo->sDisplayName );
SvLBoxEntry* pEntry = CreateEntry( aTxt, CBCOL_FIRST );
const Sequence< OUString > *pCfgImplNames = rLinguData.GetThesTable().Get( eCurLanguage );
DBG_ASSERT( pCfgImplNames, "pCfgImplNames missing" );
- BOOL bChecked = pCfgImplNames && lcl_SeqGetEntryPos( *pCfgImplNames, rImplName ) >= 0;
+ BOOL bChecked = pCfgImplNames && lcl_SeqGetEntryPos( *pCfgImplNames, aImplName ) >= 0;
lcl_SetCheckButton( pEntry, bChecked );
- pUserData = new ModuleUserData_Impl( rImplName, FALSE,
+ pUserData = new ModuleUserData_Impl( aImplName, FALSE,
bChecked, TYPE_THES, (BYTE)nLocalIndex++ );
pEntry->SetUserData( (void *)pUserData );
pModel->Insert( pEntry );