lingucomponent/source/spellcheck/spell/sspellimp.cxx | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-)
New commits: commit 76c1ee2548c52f393151abec9c2690656527558d Author: Tsutomu Uchino <[email protected]> Date: Fri Sep 23 12:26:31 2016 +0000 #i127071# Fix illegal index on locations of spell cheker dictionary diff --git a/lingucomponent/source/spellcheck/spell/sspellimp.cxx b/lingucomponent/source/spellcheck/spell/sspellimp.cxx index 921986c..1958b03 100644 --- a/lingucomponent/source/spellcheck/spell/sspellimp.cxx +++ b/lingucomponent/source/spellcheck/spell/sspellimp.cxx @@ -179,14 +179,23 @@ Sequence< Locale > SAL_CALL SpellChecker::getLocales() std::list< SvtLinguConfigDictionaryEntry >::const_iterator aDictIt; for (aDictIt = aDics.begin(); aDictIt != aDics.end(); ++aDictIt) { - uno::Sequence< rtl::OUString > aLocaleNames( aDictIt->aLocaleNames ); uno::Sequence< rtl::OUString > aLocations( aDictIt->aLocations ); - sal_Int32 nLen2 = aLocaleNames.getLength(); - for (k = 0; k < nLen2; ++k) + if ( xAccess.is() && aLocations.getLength() ) { - if (xAccess.is() && xAccess->exists(aLocations[k])) + sal_Bool bAllFileExists = sal_False; + sal_Int32 nLength = aLocations.getLength(); + for (sal_Int32 i = 0; i < nLength; ++i) { - aLocaleNamesSet.insert( aLocaleNames[k] ); + bAllFileExists |= xAccess->exists( aLocations[i] ); + } + if ( bAllFileExists ) + { + uno::Sequence< rtl::OUString > aLocaleNames( aDictIt->aLocaleNames ); + sal_Int32 nLen2 = aLocaleNames.getLength(); + for (k = 0; k < nLen2; ++k) + { + aLocaleNamesSet.insert( aLocaleNames[k] ); + } } } } _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
