editeng/source/misc/svxacorr.cxx | 32 +++++++++++++++++++------------- svx/source/svdraw/svdmrkv.cxx | 8 ++++---- 2 files changed, 23 insertions(+), 17 deletions(-)
New commits: commit a1ff0745cc4f78777e8dba1e7bb52d18386d7394 Author: Caolán McNamara <caol...@redhat.com> Date: Fri Oct 23 09:11:56 2015 +0100 Resolves: tdf#76964 fall back to primary language via getLanguage instead of bittwiddling which ends up trying to resolve the system language Change-Id: I545bd5e39f99003ddedf3c90031e8b818edc1de2 diff --git a/editeng/source/misc/svxacorr.cxx b/editeng/source/misc/svxacorr.cxx index c0fe685..93c56bb 100644 --- a/editeng/source/misc/svxacorr.cxx +++ b/editeng/source/misc/svxacorr.cxx @@ -1717,10 +1717,8 @@ const SvxAutocorrWord* SvxAutoCorrect::SearchWordsInList( } // If it still could not be found here, then keep on searching - LanguageType eLang = aLanguageTag.getLanguageType(); - LanguageType nTmpKey1 = eLang & 0x7ff, // the main language in many cases DE - nTmpKey2 = eLang & 0x3ff; // otherwise for example EN + LanguageType nTmpKey1 = eLang & 0x7ff; // the main language in many cases DE if(nTmpKey1 != eLang && (m_pLangTable->find(aLanguageTag.reset(nTmpKey1)) != m_pLangTable->end() || CreateLanguageFile(aLanguageTag, false))) { @@ -1734,8 +1732,12 @@ const SvxAutocorrWord* SvxAutoCorrect::SearchWordsInList( } } - if (nTmpKey2 != eLang && (m_pLangTable->find(aLanguageTag.reset(nTmpKey2)) != m_pLangTable->end() || - CreateLanguageFile(aLanguageTag, false))) + // otherwise for example EN + aLanguageTag.reset(aLanguageTag.getLanguage()); + LanguageType nTmpKey2 = aLanguageTag.getLanguageType(false); + if (nTmpKey2 != eLang && nTmpKey2 != LANGUAGE_UNDETERMINED && + (m_pLangTable->find(aLanguageTag) != m_pLangTable->end() || + CreateLanguageFile(aLanguageTag, false))) { //the language is available - so bring it on std::unique_ptr<SvxAutoCorrectLanguageLists> const& pList = m_pLangTable->find(aLanguageTag)->second; @@ -1771,8 +1773,7 @@ bool SvxAutoCorrect::FindInWrdSttExceptList( LanguageType eLang, // First search for eLang, then US-English -> English // and last in LANGUAGE_UNDETERMINED - LanguageType nTmpKey1 = eLang & 0x7ff, // the main language in many cases DE - nTmpKey2 = eLang & 0x3ff; // otherwise for example EN + LanguageType nTmpKey1 = eLang & 0x7ff; // the main language in many cases DE OUString sTemp(sWord); if (m_pLangTable->find(aLanguageTag) != m_pLangTable->end() || CreateLanguageFile(aLanguageTag, false)) @@ -1794,8 +1795,11 @@ bool SvxAutoCorrect::FindInWrdSttExceptList( LanguageType eLang, return true; } - if (nTmpKey2 != eLang && (m_pLangTable->find(aLanguageTag.reset(nTmpKey2)) != m_pLangTable->end() || - CreateLanguageFile(aLanguageTag, false))) + // otherwise for example EN + LanguageType nTmpKey2 = aLanguageTag.getLanguageType(false); + if (nTmpKey2 != eLang && nTmpKey2 != LANGUAGE_UNDETERMINED && + (m_pLangTable->find(aLanguageTag) != m_pLangTable->end() || + CreateLanguageFile(aLanguageTag, false))) { //the language is available - so bring it on auto const& pList = m_pLangTable->find(aLanguageTag)->second; @@ -1857,8 +1861,7 @@ bool SvxAutoCorrect::FindInCplSttExceptList(LanguageType eLang, // First search for eLang, then US-English -> English // and last in LANGUAGE_UNDETERMINED - LanguageType nTmpKey1 = eLang & 0x7ff, // the main language in many cases DE - nTmpKey2 = eLang & 0x3ff; // otherwise for example EN + LanguageType nTmpKey1 = eLang & 0x7ff; // the main language in many cases DE OUString sTemp( sWord ); if (m_pLangTable->find(aLanguageTag) != m_pLangTable->end() || CreateLanguageFile(aLanguageTag, false)) @@ -1878,8 +1881,11 @@ bool SvxAutoCorrect::FindInCplSttExceptList(LanguageType eLang, return true; } - if(nTmpKey2 != eLang && (m_pLangTable->find(aLanguageTag.reset(nTmpKey2)) != m_pLangTable->end() || - CreateLanguageFile(aLanguageTag, false))) + // otherwise for example EN + LanguageType nTmpKey2 = aLanguageTag.getLanguageType(false); + if (nTmpKey2 != eLang && nTmpKey2 != LANGUAGE_UNDETERMINED && + (m_pLangTable->find(aLanguageTag) != m_pLangTable->end() || + CreateLanguageFile(aLanguageTag, false))) { //the language is available - so bring it on const SvStringsISortDtor* pList = m_pLangTable->find(aLanguageTag)->second->GetCplSttExceptList(); commit b7ec9d722fc24b8a01e34df259594567c3fc7d43 Author: Caolán McNamara <caol...@redhat.com> Date: Thu Oct 22 17:10:00 2015 +0100 afl-eventtesting: crash seen on occasion Change-Id: Ib8e33c3dbaf793f9ae57a2d54af34d7e823226ec diff --git a/svx/source/svdraw/svdmrkv.cxx b/svx/source/svdraw/svdmrkv.cxx index 9191579..ec449b1 100644 --- a/svx/source/svdraw/svdmrkv.cxx +++ b/svx/source/svdraw/svdmrkv.cxx @@ -1257,10 +1257,10 @@ void SdrMarkView::CheckMarked() { for (size_t nm=GetMarkedObjectCount(); nm>0;) { --nm; - SdrMark* pM=GetSdrMarkByIndex(nm); - SdrObject* pObj=pM->GetMarkedSdrObj(); - SdrPageView* pPV=pM->GetPageView(); - bool bRaus=!pPV->IsObjSelectable(pObj); + SdrMark* pM = GetSdrMarkByIndex(nm); + SdrObject* pObj = pM->GetMarkedSdrObj(); + SdrPageView* pPV = pM->GetPageView(); + bool bRaus = !pObj || !pPV->IsObjSelectable(pObj); if (bRaus) { GetMarkedObjectListWriteAccess().DeleteMark(nm);
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits