editeng/qa/unit/core-test.cxx | 4 ++-- editeng/source/editeng/edtspell.cxx | 8 ++++---- editeng/source/editeng/edtspell.hxx | 2 +- editeng/source/misc/svxacorr.cxx | 6 +++--- include/editeng/svxacorr.hxx | 2 +- sw/source/core/edit/acorrect.cxx | 9 +++++---- sw/source/core/inc/acorrect.hxx | 2 +- 7 files changed, 17 insertions(+), 16 deletions(-)
New commits: commit ebd0d0056d89a6a69d2cb75e28758132cb5c236b Author: Michael Stahl <mst...@redhat.com> Date: Sat Feb 8 00:23:10 2014 +0100 fdo#74363: fix auto correct of initial capitals on start of first para The GetPrevPara() method apparently has to return 0 when there is no previous paragraph. (regression from ac85b6cff11d193f5f71d11b1f3cc1c474653f59) Change-Id: I09a3e1d3a3adb33562e4e03c0755447047cbd433 diff --git a/editeng/qa/unit/core-test.cxx b/editeng/qa/unit/core-test.cxx index bae28f4..2f7b7d8 100644 --- a/editeng/qa/unit/core-test.cxx +++ b/editeng/qa/unit/core-test.cxx @@ -267,10 +267,10 @@ private: //fprintf(stderr, "TestAutoCorrDoc::SetINetAttr\n"); return true; } - virtual OUString GetPrevPara( sal_Bool ) + virtual OUString const* GetPrevPara(bool) { //fprintf(stderr, "TestAutoCorrDoc::GetPrevPara\n"); - return OUString(); + return 0; } virtual bool ChgAutoCorrWord( sal_Int32& rSttPos, sal_Int32 nEndPos, SvxAutoCorrect& rACorrect, diff --git a/editeng/source/editeng/edtspell.cxx b/editeng/source/editeng/edtspell.cxx index 160a77e..1ee9734 100644 --- a/editeng/source/editeng/edtspell.cxx +++ b/editeng/source/editeng/edtspell.cxx @@ -696,7 +696,7 @@ sal_Bool EdtAutoCorrDoc::SetINetAttr(sal_Int32 nStt, sal_Int32 nEnd, return true; } -OUString EdtAutoCorrDoc::GetPrevPara( sal_Bool ) +OUString const* EdtAutoCorrDoc::GetPrevPara(bool const) { // Return previous paragraph, so that it can be determined, // whether the current word is at the beginning of a sentence. @@ -719,16 +719,16 @@ OUString EdtAutoCorrDoc::GetPrevPara( sal_Bool ) bBullet = true; } if ( bBullet ) - return OUString(); + return 0; for ( sal_Int32 n = nPos; n; ) { n--; ContentNode* pNode = rNodes[n]; if ( pNode->Len() ) - return pNode->GetString(); + return & pNode->GetString(); } - return OUString(); + return 0; } diff --git a/editeng/source/editeng/edtspell.hxx b/editeng/source/editeng/edtspell.hxx index 2af8d1f..75e1ef0 100644 --- a/editeng/source/editeng/edtspell.hxx +++ b/editeng/source/editeng/edtspell.hxx @@ -147,7 +147,7 @@ public: virtual sal_Bool SetAttr( sal_Int32 nStt, sal_Int32 nEnd, sal_uInt16 nSlotId, SfxPoolItem& ); virtual sal_Bool SetINetAttr( sal_Int32 nStt, sal_Int32 nEnd, const OUString& rURL ); - virtual OUString GetPrevPara( sal_Bool bAtNormalPos ); + virtual OUString const* GetPrevPara(bool bAtNormalPos) SAL_OVERRIDE; virtual bool ChgAutoCorrWord( sal_Int32& rSttPos, sal_Int32 nEndPos, SvxAutoCorrect& rACorrect, OUString* pPara ); diff --git a/editeng/source/misc/svxacorr.cxx b/editeng/source/misc/svxacorr.cxx index 651b380..fcb91dd 100644 --- a/editeng/source/misc/svxacorr.cxx +++ b/editeng/source/misc/svxacorr.cxx @@ -865,8 +865,8 @@ sal_Bool SvxAutoCorrect::FnCptlSttSntnc( SvxAutoCorrDoc& rDoc, { // Check out the previous paragraph, if it exists. // If so, then check to paragraph separator at the end. - OUString aPrevPara = rDoc.GetPrevPara( bNormalPos ); - if( !aPrevPara.isEmpty() ) + OUString const*const pPrevPara = rDoc.GetPrevPara(bNormalPos); + if (!pPrevPara) { // valid separator -> replace OUString sChar( *pWordStt ); @@ -875,7 +875,7 @@ sal_Bool SvxAutoCorrect::FnCptlSttSntnc( SvxAutoCorrDoc& rDoc, rDoc.ReplaceRange( pWordStt - pStart, 1, sChar ); } - aText = aPrevPara; + aText = *pPrevPara; bAtStart = sal_False; pStart = aText.getStr(); pStr = pStart + aText.getLength(); diff --git a/include/editeng/svxacorr.hxx b/include/editeng/svxacorr.hxx index ce43b62..97ca2f4 100644 --- a/include/editeng/svxacorr.hxx +++ b/include/editeng/svxacorr.hxx @@ -101,7 +101,7 @@ public: // TRUE: before the normal insertion position (TRUE) // FALSE: in which the corrected word was inserted. // (Does not to have to be the same paragraph !!!!) - virtual OUString GetPrevPara( sal_Bool bAtNormalPos ) = 0; + virtual OUString const* GetPrevPara(bool bAtNormalPos) = 0; virtual bool ChgAutoCorrWord( sal_Int32& rSttPos, sal_Int32 nEndPos, SvxAutoCorrect& rACorrect, diff --git a/sw/source/core/edit/acorrect.cxx b/sw/source/core/edit/acorrect.cxx index 33472cd..4d6c10e 100644 --- a/sw/source/core/edit/acorrect.cxx +++ b/sw/source/core/edit/acorrect.cxx @@ -270,9 +270,9 @@ sal_Bool SwAutoCorrDoc::SetINetAttr( sal_Int32 nStt, sal_Int32 nEnd, const OUStr * corrected word was inserted. (Doesn't need to be the same paragraph!) * @return text or 0, if previous paragraph does not exists or there are only blankness */ -OUString SwAutoCorrDoc::GetPrevPara( sal_Bool bAtNormalPos ) +OUString const* SwAutoCorrDoc::GetPrevPara(bool const bAtNormalPos) { - OUString aStr; + OUString const* pStr(0); if( bAtNormalPos || !pIdx ) pIdx = new SwNodeIndex( rCrsr.GetPoint()->nNode, -1 ); @@ -286,11 +286,12 @@ OUString SwAutoCorrDoc::GetPrevPara( sal_Bool bAtNormalPos ) pTNd = pIdx->GetNode().GetTxtNode(); } if( pTNd && 0 == pTNd->GetAttrOutlineLevel() ) - aStr = pTNd->GetTxt(); + pStr = & pTNd->GetTxt(); if( bUndoIdInitialized ) bUndoIdInitialized = true; - return aStr; + + return pStr; } bool SwAutoCorrDoc::ChgAutoCorrWord( sal_Int32& rSttPos, sal_Int32 nEndPos, diff --git a/sw/source/core/inc/acorrect.hxx b/sw/source/core/inc/acorrect.hxx index 9a0f84e..4836319 100644 --- a/sw/source/core/inc/acorrect.hxx +++ b/sw/source/core/inc/acorrect.hxx @@ -72,7 +72,7 @@ public: // - sal_True: paragraph before "normal" insertion position // - sal_False: paragraph in that the corrected word was inserted // (does not need to be the same paragraph) - virtual OUString GetPrevPara( sal_Bool bAtNormalPos ); + virtual OUString const* GetPrevPara(bool bAtNormalPos) SAL_OVERRIDE; virtual bool ChgAutoCorrWord( sal_Int32& rSttPos, sal_Int32 nEndPos, SvxAutoCorrect& rACorrect, _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits