summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2012-07-26 12:45:50 +0200
committerMichael Stahl <mstahl@redhat.com>2012-07-26 14:30:10 +0200
commit74fdac012e33d84f24080381103e63bb0466ade7 (patch)
treeeb6e986eda1732756eeeed82e03b0084e43bb52a
parentc10159f3ed4b474736711fc6f15b85454da2669f (diff)
fix previous STL conversion commit:
Change-Id: I05427b6753cb9eb13cf3d3e085aa22346eed4977 SwPamRanges::Insert needs to check for it != end() before comparing it.
-rw-r--r--sw/source/core/edit/ednumber.cxx28
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;
}