tdf#100880 editeng spellchecking doesn't work sometimes...

believe to be a regression from

commit 73f0b3bd55
Author: Matteo Casalin <matteo.casalin@yahoo.com>
Date:   Sat Dec 28 13:37:26 2013 +0100

    xub_StrLen to sal_Int32 + some const

and lets fix it the same way

commit 9705fbc111
Author: Norbert Thiebaud <nthiebaud@gmail.com>
Date:   Sun Mar 2 12:19:16 2014 -0600

    Fix editeng missing spellchecking redline on load

(probably) fixed some other regression caused by that

Change-Id: I52775aff50dcc634fd2f08eb685cc4ad9850c82c
This commit is contained in:
Caolán McNamara
2016-07-13 16:56:14 +01:00
parent 8b04b9f465
commit 71ab1ee978

View File

@@ -2282,8 +2282,8 @@ void ImpEditEngine::DoOnlineSpelling( ContentNode* pThisNodeOnly, bool bSpellAtC
if (!pNode->GetWrongList()->IsValid())
{
WrongList* pWrongList = pNode->GetWrongList();
const sal_Int32 nInvStart = pWrongList->GetInvalidStart();
const sal_Int32 nInvEnd = pWrongList->GetInvalidEnd();
const size_t nInvStart = pWrongList->GetInvalidStart();
const size_t nInvEnd = pWrongList->GetInvalidEnd();
sal_Int32 nPaintFrom = -1;
sal_Int32 nPaintTo = 0;
@@ -2295,7 +2295,7 @@ void ImpEditEngine::DoOnlineSpelling( ContentNode* pThisNodeOnly, bool bSpellAtC
EditSelection aSel( aPaM, aPaM );
while ( ( aSel.Max().GetNode() == pNode ) /* && !bStop */ )
{
if ( ( aSel.Min().GetIndex() > nInvEnd )
if ( ( static_cast<size_t>(aSel.Min().GetIndex()) > nInvEnd )
|| ( ( aSel.Max().GetNode() == pLastNode ) && ( aSel.Max().GetIndex() >= pLastNode->Len() ) ) )
break; // Document end or end of invalid region