sc/source/ui/dbgui/scuiasciiopt.cxx | 2 +- sw/source/core/doc/DocumentRedlineManager.cxx | 20 ++++++++++++-------- 2 files changed, 13 insertions(+), 9 deletions(-)
New commits: commit 98d80106a37399f6d2eca990fd3fd5412fc87fc2 Author: Caolán McNamara <[email protected]> AuthorDate: Sat Nov 9 19:44:12 2024 +0000 Commit: Caolán McNamara <[email protected]> CommitDate: Mon Nov 11 18:22:26 2024 +0100 cid#1607376 Overflowed constant Change-Id: Ib02923e0c40e97fa7a22c7f68079df48baf3fcb9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176382 Reviewed-by: Caolán McNamara <[email protected]> Tested-by: Jenkins diff --git a/sc/source/ui/dbgui/scuiasciiopt.cxx b/sc/source/ui/dbgui/scuiasciiopt.cxx index 37a81c077053..b35cf24ba7fb 100644 --- a/sc/source/ui/dbgui/scuiasciiopt.cxx +++ b/sc/source/ui/dbgui/scuiasciiopt.cxx @@ -630,7 +630,7 @@ bool ScImportAsciiDlg::GetLine( sal_uLong nLine, OUString &rText, sal_Unicode& r mnStreamPos = mpDatStream->Tell(); mpRowPosArray[++mnRowPosCount] = mnStreamPos; } while (nLine >= mnRowPosCount && mpDatStream->good()); - if (mpDatStream->eof() && + if (mpDatStream->eof() && mnRowPosCount && mnStreamPos == mpRowPosArray[mnRowPosCount-1]) { // the very end, not even an empty line read commit 4d551b7234ebb02b8b1a837966b30990e18f0c0b Author: Caolán McNamara <[email protected]> AuthorDate: Sat Nov 9 21:27:18 2024 +0000 Commit: Caolán McNamara <[email protected]> CommitDate: Mon Nov 11 18:22:14 2024 +0100 cid#1607427 Overflowed constant and cid#1607919 Overflowed constant Change-Id: Ifad54a4aa6863e23ee9432d4faacf2a61b4d93e1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176379 Tested-by: Jenkins Reviewed-by: Caolán McNamara <[email protected]> diff --git a/sw/source/core/doc/DocumentRedlineManager.cxx b/sw/source/core/doc/DocumentRedlineManager.cxx index ed7978fc33e5..fc4b7d6859dc 100644 --- a/sw/source/core/doc/DocumentRedlineManager.cxx +++ b/sw/source/core/doc/DocumentRedlineManager.cxx @@ -2676,11 +2676,14 @@ bool DocumentRedlineManager::DeleteRedline( const SwPaM& rRange, bool bSaveInUnd auto [pStt, pEnd] = rRange.StartEnd(); // SwPosition* SwRedlineTable::size_type n = 0; GetRedline( *pStt, &n ); - for( ; n < maRedlineTable.size() ; ++n ) + while (n < maRedlineTable.size()) { SwRangeRedline* pRedl = maRedlineTable[ n ]; if( RedlineType::Any != nDelType && nDelType != pRedl->GetType() ) + { + ++n; continue; + } auto [pRStt, pREnd] = pRedl->StartEnd(); // SwPosition* switch( ComparePosition( *pStt, *pEnd, *pRStt, *pREnd ) ) @@ -2688,7 +2691,7 @@ bool DocumentRedlineManager::DeleteRedline( const SwPaM& rRange, bool bSaveInUnd case SwComparePosition::Equal: case SwComparePosition::Outside: pRedl->InvalidateRange(SwRangeRedline::Invalidation::Remove); - maRedlineTable.DeleteAndDestroy( n-- ); + maRedlineTable.DeleteAndDestroy( n ); bChg = true; break; @@ -2699,7 +2702,6 @@ bool DocumentRedlineManager::DeleteRedline( const SwPaM& rRange, bool bSaveInUnd // re-insert maRedlineTable.Remove( n ); maRedlineTable.Insert( pRedl ); - --n; break; case SwComparePosition::OverlapBehind: @@ -2711,8 +2713,9 @@ bool DocumentRedlineManager::DeleteRedline( const SwPaM& rRange, bool bSaveInUnd // re-insert maRedlineTable.Remove( n ); maRedlineTable.Insert( pRedl ); - --n; } + else + ++n; break; case SwComparePosition::Inside: @@ -2726,7 +2729,6 @@ bool DocumentRedlineManager::DeleteRedline( const SwPaM& rRange, bool bSaveInUnd // re-insert maRedlineTable.Remove( n ); maRedlineTable.Insert( pRedl ); - --n; } else { @@ -2746,8 +2748,9 @@ bool DocumentRedlineManager::DeleteRedline( const SwPaM& rRange, bool bSaveInUnd // re-insert maRedlineTable.Remove( n ); maRedlineTable.Insert( pRedl ); - --n; } + else + ++n; if( pCpy ) maRedlineTable.Insert( pCpy ); } @@ -2760,16 +2763,17 @@ bool DocumentRedlineManager::DeleteRedline( const SwPaM& rRange, bool bSaveInUnd if ( pRedl->HasMark() && *pRedl->GetMark() == *pRedl->GetPoint() ) { pRedl->InvalidateRange(SwRangeRedline::Invalidation::Remove); - maRedlineTable.DeleteAndDestroy( n-- ); + maRedlineTable.DeleteAndDestroy( n ); bChg = true; break; } [[fallthrough]]; case SwComparePosition::Before: - n = maRedlineTable.size(); + n = maRedlineTable.size() + 1; break; default: + ++n; break; } }
