summaryrefslogtreecommitdiff
path: root/svx/source/outliner/outliner.cxx
diff options
context:
space:
mode:
authorJens-Heiner Rechtien <hr@openoffice.org>2009-03-16 11:00:17 +0000
committerJens-Heiner Rechtien <hr@openoffice.org>2009-03-16 11:00:17 +0000
commit60fd827d609b85387d28b010bf08f0eee91f8f4d (patch)
treedc81f25cb89eb264c00adf6e8c9efb31288f67d5 /svx/source/outliner/outliner.cxx
parentb096225ab1bb97f666dc2cbf1de804121a5c7ba6 (diff)
CWS-TOOLING: integrate CWS sw31bf07
2009-03-10 12:55:42 +0100 od r269266 : #i100014# - adjust <Outliner::ImplCheckParagraphs(..)> and its usage to avoid endless loop 2009-03-10 10:24:45 +0100 od r269250 : #i100035# method <SwView::~SwView()> - set member variable <mpPostItMgr> to 0 after its destruction to suppress further access on it. 2009-03-10 10:10:05 +0100 od r269247 : #i100043# method <OutWW8_SwTxtNode(..)> - if paragraph is numbered via set list style at paragraph style and list level indent values of LABEL_ALIGNMENT list level style not applicable, put indent values into temporary itemset for export NOTE: This is a correction of fix for issue i94187
Diffstat (limited to 'svx/source/outliner/outliner.cxx')
-rw-r--r--svx/source/outliner/outliner.cxx29
1 files changed, 24 insertions, 5 deletions
diff --git a/svx/source/outliner/outliner.cxx b/svx/source/outliner/outliner.cxx
index 988a73dab7..7a298c4c4b 100644
--- a/svx/source/outliner/outliner.cxx
+++ b/svx/source/outliner/outliner.cxx
@@ -332,7 +332,11 @@ void Outliner::SetNumberingStartValue( sal_uInt16 nPara, sal_Int16 nNumberingSta
pPara->IsParaIsNumberingRestart(), pPara->IsParaIsNumberingRestart() ) );
pPara->SetNumberingStartValue( nNumberingStartValue );
- ImplCheckParagraphs( nPara, (USHORT) (pParaList->GetParagraphCount()-1) );
+ // --> OD 2009-03-10 #i100014#
+ // It is not a good idea to substract 1 from a count and cast the result
+ // to USHORT without check, if the count is 0.
+ ImplCheckParagraphs( nPara, (USHORT) (pParaList->GetParagraphCount()) );
+ // <--
pEditEngine->SetModified();
}
}
@@ -356,7 +360,11 @@ void Outliner::SetParaIsNumberingRestart( sal_uInt16 nPara, sal_Bool bParaIsNumb
pPara->IsParaIsNumberingRestart(), bParaIsNumberingRestart ) );
pPara->SetParaIsNumberingRestart( bParaIsNumberingRestart );
- ImplCheckParagraphs( nPara, (USHORT) (pParaList->GetParagraphCount()-1) );
+ // --> OD 2009-03-10 #i100014#
+ // It is not a good idea to substract 1 from a count and cast the result
+ // to USHORT without check, if the count is 0.
+ ImplCheckParagraphs( nPara, (USHORT) (pParaList->GetParagraphCount()) );
+ // <--
pEditEngine->SetModified();
}
}
@@ -596,7 +604,11 @@ void Outliner::SetText( const OutlinerParaObject& rPObj )
ImplCheckNumBulletItem( nCurPara );
}
- ImplCheckParagraphs( 0, (USHORT) (pParaList->GetParagraphCount()-1) );
+ // --> OD 2009-03-10 #i100014#
+ // It is not a good idea to substract 1 from a count and cast the result
+ // to USHORT without check, if the count is 0.
+ ImplCheckParagraphs( 0, (USHORT) (pParaList->GetParagraphCount()) );
+ // <--
EnableUndo( bUndo );
ImplBlockInsertionCallbacks( FALSE );
@@ -639,7 +651,11 @@ void Outliner::AddText( const OutlinerParaObject& rPObj )
}
DBG_ASSERT( pEditEngine->GetParagraphCount()==pParaList->GetParagraphCount(), "SetText: OutOfSync" );
- ImplCheckParagraphs( (USHORT)nPara, (USHORT) (pParaList->GetParagraphCount()-1) );
+ // --> OD 2009-03-10 #i100014#
+ // It is not a good idea to substract 1 from a count and cast the result
+ // to USHORT without check, if the count is 0.
+ ImplCheckParagraphs( (USHORT)nPara, (USHORT) (pParaList->GetParagraphCount()) );
+ // <--
ImplBlockInsertionCallbacks( FALSE );
pEditEngine->SetUpdateMode( bUpdate );
@@ -1501,7 +1517,10 @@ void Outliner::ImplCheckParagraphs( USHORT nStart, USHORT nEnd )
{
DBG_CHKTHIS( Outliner, 0 );
- for ( USHORT n = nStart; n <= nEnd; n++ )
+ // --> OD 2009-03-10 #i100014#
+ // assure that the following for-loop does not loop forever
+ for ( ULONG n = nStart; n < nEnd; n++ )
+ // <--
{
Paragraph* pPara = pParaList->GetParagraph( n );
if (pPara)