vcl/source/edit/texteng.cxx | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-)
New commits: commit 28bff60322098e0238f369feefc50ee524ba66f0 Author: Caolán McNamara <caol...@redhat.com> Date: Sat Aug 17 12:06:24 2013 +0100 defer GetBreakIterator as long as possible Change-Id: Ib149c5cfd20e63b60c997eaa8ae2e6fa2c172beb diff --git a/vcl/source/edit/texteng.cxx b/vcl/source/edit/texteng.cxx index 65660ec..0de2ffd 100644 --- a/vcl/source/edit/texteng.cxx +++ b/vcl/source/edit/texteng.cxx @@ -641,7 +641,6 @@ uno::Reference < i18n::XExtendedInputSequenceChecker > TextEngine::GetInputSeque sal_Bool TextEngine::IsInputSequenceCheckingRequired( sal_Unicode c, const TextSelection& rCurSel ) const { - uno::Reference< i18n::XBreakIterator > xBI = ((TextEngine *) this)->GetBreakIterator(); SvtCTLOptions aCTLOptions; // get the index that really is first @@ -650,11 +649,16 @@ sal_Bool TextEngine::IsInputSequenceCheckingRequired( sal_Unicode c, const TextS if (nMaxPos < nFirstPos) nFirstPos = nMaxPos; - sal_Bool bIsSequenceChecking = + bool bIsSequenceChecking = aCTLOptions.IsCTLFontEnabled() && aCTLOptions.IsCTLSequenceChecking() && - nFirstPos != 0 && /* first char needs not to be checked */ - xBI.is() && i18n::ScriptType::COMPLEX == xBI->getScriptType( OUString( c ), 0 ); + nFirstPos != 0; /* first char needs not to be checked */ + + if (bIsSequenceChecking) + { + uno::Reference< i18n::XBreakIterator > xBI = const_cast<TextEngine *>(this)->GetBreakIterator(); + bIsSequenceChecking = xBI.is() && i18n::ScriptType::COMPLEX == xBI->getScriptType( OUString( c ), 0 ); + } return bIsSequenceChecking; }
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits