diff options
author | Michael Stahl <mstahl@redhat.com> | 2012-07-26 12:45:50 +0200 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2012-07-26 14:30:10 +0200 |
commit | 74fdac012e33d84f24080381103e63bb0466ade7 (patch) | |
tree | eb6e986eda1732756eeeed82e03b0084e43bb52a /sw | |
parent | c10159f3ed4b474736711fc6f15b85454da2669f (diff) |
fix previous STL conversion commit:
Change-Id: I05427b6753cb9eb13cf3d3e085aa22346eed4977
SwPamRanges::Insert needs to check for it != end() before comparing it.
Diffstat (limited to 'sw')
-rw-r--r-- | sw/source/core/edit/ednumber.cxx | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/sw/source/core/edit/ednumber.cxx b/sw/source/core/edit/ednumber.cxx index 6be3bcfadd32..8ede603db45b 100644 --- a/sw/source/core/edit/ednumber.cxx +++ b/sw/source/core/edit/ednumber.cxx @@ -52,53 +52,53 @@ void SwPamRanges::Insert( const SwNodeIndex& rIdx1, const SwNodeIndex& rIdx2 ) if( aRg.nEnd < aRg.nStart ) { aRg.nStart = aRg.nEnd; aRg.nEnd = rIdx1.GetIndex(); } - _SwPamRanges::iterator it = lower_bound( aRg ); + _SwPamRanges::const_iterator it = lower_bound(aRg); //search Insert Position sal_uInt16 nPos = it - begin(); - if( !empty() && (*it) == aRg) // suche Insert Position + if (!empty() && (it != end()) && (*it) == aRg) { - // ist der im Array stehende kleiner ?? - SwPamRange& rTmp = _SwPamRanges::operator[](nPos); + // is the one in the Array smaller? + SwPamRange const& rTmp = _SwPamRanges::operator[](nPos); if( rTmp.nEnd < aRg.nEnd ) { aRg.nEnd = rTmp.nEnd; - erase( begin() + nPos ); // zusammenfassen + erase(begin() + nPos); // combine } else - return; // ende, weil schon alle zusammengefasst waren + return; // done, because by precondition everything is combined } sal_Bool bEnde; do { bEnde = sal_True; - // mit dem Vorgaenger zusammenfassen ?? + // combine with predecessor? if( nPos > 0 ) { - SwPamRange& rTmp = _SwPamRanges::operator[](nPos-1); + SwPamRange const& rTmp = _SwPamRanges::operator[](nPos-1); if( rTmp.nEnd == aRg.nStart || rTmp.nEnd+1 == aRg.nStart ) { aRg.nStart = rTmp.nStart; bEnde = sal_False; - erase( begin() + --nPos ); // zusammenfassen + erase( begin() + --nPos ); // combine } - // SSelection im Bereich ?? + // range contained in rTmp? else if( rTmp.nStart <= aRg.nStart && aRg.nEnd <= rTmp.nEnd ) return; } - // mit dem Nachfolger zusammenfassen ?? + // combine with successor? if( nPos < size() ) { - SwPamRange& rTmp = _SwPamRanges::operator[](nPos); + SwPamRange const& rTmp = _SwPamRanges::operator[](nPos); if( rTmp.nStart == aRg.nEnd || rTmp.nStart == aRg.nEnd+1 ) { aRg.nEnd = rTmp.nEnd; bEnde = sal_False; - erase( begin() + nPos ); // zusammenfassen + erase( begin() + nPos ); // combine } - // SSelection im Bereich ?? + // range contained in rTmp? else if( rTmp.nStart <= aRg.nStart && aRg.nEnd <= rTmp.nEnd ) return; } |