sw/inc/ring.hxx | 192 +++++++++++++++++---------------- sw/source/core/access/accdoc.cxx | 2 sw/source/core/access/accframebase.cxx | 2 sw/source/core/access/accmap.cxx | 27 +--- sw/source/core/access/accpara.cxx | 48 +++----- sw/source/core/crsr/crsrsh.cxx | 52 +++----- sw/source/core/crsr/crstrvl.cxx | 21 +-- sw/source/core/crsr/swcrsr.cxx | 8 - sw/source/core/crsr/trvltbl.cxx | 12 +- sw/source/core/crsr/viscrs.cxx | 6 - sw/source/core/doc/CntntIdxStore.cxx | 14 +- sw/source/core/doc/doccomp.cxx | 14 +- sw/source/core/draw/dcontact.cxx | 6 - sw/source/core/draw/dpage.cxx | 2 sw/source/core/edit/autofmt.cxx | 2 sw/source/core/edit/edatmisc.cxx | 19 +-- sw/source/core/edit/edattr.cxx | 61 +++++----- sw/source/core/edit/eddel.cxx | 16 +- sw/source/core/edit/editsh.cxx | 25 ++-- sw/source/core/edit/ednumber.cxx | 20 +-- sw/source/core/edit/edredln.cxx | 11 - sw/source/core/edit/edws.cxx | 37 ++---- sw/source/core/frmedt/fecopy.cxx | 6 - sw/source/core/frmedt/feshview.cxx | 18 +-- sw/source/core/frmedt/fetab.cxx | 7 - sw/source/core/frmedt/fews.cxx | 14 +- sw/source/core/graphic/ndgrf.cxx | 6 - sw/source/core/layout/fly.cxx | 11 - sw/source/core/layout/frmtool.cxx | 10 - sw/source/core/layout/layact.cxx | 70 +++++------- sw/source/core/layout/newfrm.cxx | 2 sw/source/core/layout/pagechg.cxx | 119 ++++++++------------ sw/source/core/layout/paintfrm.cxx | 17 +- sw/source/core/text/xmldump.cxx | 13 -- sw/source/core/undo/docundo.cxx | 11 + sw/source/core/unocore/unoobj2.cxx | 41 ++----- sw/source/core/view/viewimp.cxx | 92 +++++---------- sw/source/core/view/viewsh.cxx | 95 ++++++---------- sw/source/core/view/vnew.cxx | 2 sw/source/filter/basflt/shellio.cxx | 4 sw/source/filter/html/swhtml.cxx | 13 +- sw/source/uibase/docvw/edtwin.cxx | 2 42 files changed, 518 insertions(+), 632 deletions(-)
New commits: commit f810d84663742694a12bc1517c39bfd014839d7c Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 19:21:12 2014 +0100 fix indent Change-Id: I420009e0892a815e0017208c3bb2a90e1533c916 diff --git a/sw/source/uibase/docvw/edtwin.cxx b/sw/source/uibase/docvw/edtwin.cxx index 97c3338..d9b6a1c 100644 --- a/sw/source/uibase/docvw/edtwin.cxx +++ b/sw/source/uibase/docvw/edtwin.cxx @@ -5431,7 +5431,7 @@ void SwEditWin::Command( const CommandEvent& rCEvt ) // Cancel all selections other than the last selected one. while( rSh.GetCrsr()->GetNext() != rSh.GetCrsr() ) - delete rSh.GetCrsr()->GetNext(); + delete rSh.GetCrsr()->GetNext(); } if( pCrsr ) commit f87c46b0fa3c01a163d6aded8889ff305823166b Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 19:19:00 2014 +0100 use C++11 iteration Change-Id: Iaf050d7b574864c27b84919aa3a04eadd25312e0 diff --git a/sw/source/filter/html/swhtml.cxx b/sw/source/filter/html/swhtml.cxx index 2685a0a..fe225ba 100644 --- a/sw/source/filter/html/swhtml.cxx +++ b/sw/source/filter/html/swhtml.cxx @@ -2590,13 +2590,12 @@ SwViewShell *SwHTMLParser::CallEndAction( bool bChkAction, bool bChkPtr ) if( bSetCrsr ) { - // an allen CrsrEditShells die Cursor auf den Doc-Anfang setzen - SwViewShell *pSh = pActionViewShell; - do { - if( pSh->IsA( TYPE( SwCrsrShell ) ) ) - static_cast<SwCrsrShell*>(pSh)->SttEndDoc(true); - pSh = static_cast<SwViewShell *>(pSh->GetNext()); - } while( pSh != pActionViewShell ); + // set the cursor to the doc begin in all CrsrEditShells + for(SwViewShell& rSh : pActionViewShell->GetRingContainer()) + { + if( rSh.IsA( TYPE( SwCrsrShell ) ) ) + static_cast<SwCrsrShell*>(&rSh)->SttEndDoc(true); + } bSetCrsr = false; } commit 12f2bcaee5948c3ac2d14d75180c357ae3830179 Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 19:16:38 2014 +0100 unnecessary cast Change-Id: I59988b27b199ffb50118255026a8d9e5aa3debbd diff --git a/sw/source/filter/basflt/shellio.cxx b/sw/source/filter/basflt/shellio.cxx index 06b3708..d01c456 100644 --- a/sw/source/filter/basflt/shellio.cxx +++ b/sw/source/filter/basflt/shellio.cxx @@ -776,7 +776,7 @@ sal_uLong SwWriter::Write( WriterRef& rxWriter, const OUString* pRealFileName ) while(true) { bHasMark = bHasMark || pPam->HasMark(); - pPam = static_cast<SwPaM *>( pPam->GetNext() ); + pPam = pPam->GetNext(); if(bHasMark || pPam == pEnd) break; } commit e2583ed3168460d5e2bb89dd7fe5a7ddb7c41ccd Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 19:15:52 2014 +0100 unnecessary cast Change-Id: I9b0ac0ba1b3dce2d37dd514a75523ddcbbaa0111 diff --git a/sw/source/filter/basflt/shellio.cxx b/sw/source/filter/basflt/shellio.cxx index 1163f61..06b3708 100644 --- a/sw/source/filter/basflt/shellio.cxx +++ b/sw/source/filter/basflt/shellio.cxx @@ -315,7 +315,7 @@ sal_uLong SwReader::Read( const Reader& rOptions ) delete pUndoPam; - pPam = static_cast<SwPaM *>( pPam->GetNext()); + pPam = pPam->GetNext(); if( pPam == pEnd ) break; commit 82944c9f3093a2cb7eda382ef54615c3b7bd8f54 Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 19:11:25 2014 +0100 unnecessary cast Change-Id: Ie86244d8180cba07260af4b8c82c4ce588a66528 diff --git a/sw/source/core/view/vnew.cxx b/sw/source/core/view/vnew.cxx index 6432d3a..3cfe679 100644 --- a/sw/source/core/view/vnew.cxx +++ b/sw/source/core/view/vnew.cxx @@ -358,7 +358,7 @@ SwViewShell::~SwViewShell() GetLayout()->DeRegisterShell( this ); if(mpDoc->getIDocumentLayoutAccess().GetCurrentViewShell()==this) mpDoc->getIDocumentLayoutAccess().SetCurrentViewShell( this->GetNext()!=this ? - static_cast<SwViewShell*>(this->GetNext()) : NULL ); + this->GetNext() : nullptr ); } delete mpTmpRef; commit 354da848ad9ca890e8f977bf210eb9952b72f6cb Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 19:10:12 2014 +0100 use C++11 iteration Change-Id: Iba781628aa39e537d403b1bbbd5c8891d6068026 diff --git a/sw/source/core/view/viewsh.cxx b/sw/source/core/view/viewsh.cxx index a8de6ea..301bcf9 100644 --- a/sw/source/core/view/viewsh.cxx +++ b/sw/source/core/view/viewsh.cxx @@ -2186,14 +2186,15 @@ void SwViewShell::ImplApplyViewOptions( const SwViewOption &rOpt ) if( bOnlineSpellChgd ) { - SwViewShell *pSh = static_cast<SwViewShell*>(this->GetNext()); bool bOnlineSpl = rOpt.IsOnlineSpell(); - while( pSh != this ) - { pSh->mpOpt->SetOnlineSpell( bOnlineSpl ); - vcl::Window *pTmpWin = pSh->GetWin(); + for(SwViewShell& rSh : GetRingContainer()) + { + if(&rSh == this) + continue; + rSh.mpOpt->SetOnlineSpell( bOnlineSpl ); + vcl::Window *pTmpWin = rSh.GetWin(); if( pTmpWin ) pTmpWin->Invalidate(); - pSh = static_cast<SwViewShell*>(pSh->GetNext()); } } commit ae3e797258f14f4348ce542c71815e44e2c3f9f8 Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 19:08:17 2014 +0100 use C++11 iteration Change-Id: I78d4184f73a11e0f1ef0a1763d207a9a97ac44ee diff --git a/sw/source/core/view/viewsh.cxx b/sw/source/core/view/viewsh.cxx index 23b7657..a8de6ea 100644 --- a/sw/source/core/view/viewsh.cxx +++ b/sw/source/core/view/viewsh.cxx @@ -2032,21 +2032,20 @@ SfxItemPool& SwViewShell::GetAttrPool() void SwViewShell::ApplyViewOptions( const SwViewOption &rOpt ) { - SwViewShell *pSh = this; - do - { pSh->StartAction(); - pSh = static_cast<SwViewShell*>(pSh->GetNext()); - } while ( pSh != this ); + for(SwViewShell& rSh : GetRingContainer()) + rSh.StartAction(); ImplApplyViewOptions( rOpt ); // With one layout per view it is not longer necessary // to sync these "layout related" view options // But as long as we have to disable "multiple layout" - pSh = static_cast<SwViewShell*>(this->GetNext()); - while ( pSh != this ) + + for(SwViewShell& rSh : GetRingContainer()) { - SwViewOption aOpt( *pSh->GetViewOptions() ); + if(&rSh == this) + continue; + SwViewOption aOpt( *rSh.GetViewOptions() ); aOpt.SetFldName( rOpt.IsFldName() ); aOpt.SetShowHiddenField( rOpt.IsShowHiddenField() ); aOpt.SetShowHiddenPara( rOpt.IsShowHiddenPara() ); @@ -2054,18 +2053,13 @@ void SwViewShell::ApplyViewOptions( const SwViewOption &rOpt ) aOpt.SetViewLayoutBookMode( rOpt.IsViewLayoutBookMode() ); aOpt.SetViewLayoutColumns( rOpt.GetViewLayoutColumns() ); aOpt.SetPostIts(rOpt.IsPostIts()); - if ( !(aOpt == *pSh->GetViewOptions()) ) - pSh->ImplApplyViewOptions( aOpt ); - pSh = static_cast<SwViewShell*>(pSh->GetNext()); + if ( !(aOpt == *rSh.GetViewOptions()) ) + rSh.ImplApplyViewOptions( aOpt ); } // End of disabled multiple window - pSh = this; - do - { pSh->EndAction(); - pSh = static_cast<SwViewShell*>(pSh->GetNext()); - } while ( pSh != this ); - + for(SwViewShell& rSh : GetRingContainer()) + rSh.EndAction(); } void SwViewShell::ImplApplyViewOptions( const SwViewOption &rOpt ) commit 7cc956c554c74525d63b9eb98083b2811a9170f6 Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 19:04:55 2014 +0100 use C++11 iteration Change-Id: I388df85bf547fd159741938307db6e04e6f0a336 diff --git a/sw/source/core/view/viewsh.cxx b/sw/source/core/view/viewsh.cxx index 4351ba5..23b7657 100644 --- a/sw/source/core/view/viewsh.cxx +++ b/sw/source/core/view/viewsh.cxx @@ -941,14 +941,11 @@ void SwViewShell::CalcLayout() void SwViewShell::SetFirstVisPageInvalid() { - SwViewShell *pSh = this; - do + for(SwViewShell& rSh : GetRingContainer()) { - if ( pSh->Imp() ) - pSh->Imp()->SetFirstVisPageInvalid(); - pSh = static_cast<SwViewShell*>(pSh->GetNext()); - - } while ( pSh != this ); + if ( rSh.Imp() ) + rSh.Imp()->SetFirstVisPageInvalid(); + } } void SwViewShell::SizeChgNotify() commit 0426f2946148833aa92d2ba4e2274e18db6f1a28 Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 19:04:05 2014 +0100 use C++11 iteration Change-Id: I4ca471d9d849b43a60cb34ac81baf023e30891e1 diff --git a/sw/source/core/view/viewsh.cxx b/sw/source/core/view/viewsh.cxx index 5fc9560..4351ba5 100644 --- a/sw/source/core/view/viewsh.cxx +++ b/sw/source/core/view/viewsh.cxx @@ -645,13 +645,11 @@ void SwViewShell::LayoutIdle() return; //No idle when printing is going on. - SwViewShell *pSh = this; - do - { if ( !pSh->GetWin() ) + for(SwViewShell& rSh : GetRingContainer()) + { + if ( !rSh.GetWin() ) return; - pSh = static_cast<SwViewShell*>(pSh->GetNext()); - - } while ( pSh != this ); + } SET_CURR_SHELL( this ); commit 23c950ec58c32bca814c8fee946e3aa028bbc679 Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 19:02:25 2014 +0100 use C++11 iteration Change-Id: I6eae9754e5fcb465f4f27e8c2896e6cea53fbb7a diff --git a/sw/source/core/view/viewsh.cxx b/sw/source/core/view/viewsh.cxx index 06496b8..5fc9560 100644 --- a/sw/source/core/view/viewsh.cxx +++ b/sw/source/core/view/viewsh.cxx @@ -512,19 +512,16 @@ void SwViewShell::InvalidateWindows( const SwRect &rRect ) { if ( !Imp()->IsCalcLayoutProgress() ) { - SwViewShell *pSh = this; - do + for(SwViewShell& rSh : GetRingContainer()) { - if ( pSh->GetWin() ) + if ( rSh.GetWin() ) { - if ( pSh->IsPreview() ) - ::RepaintPagePreview( pSh, rRect ); - else if ( pSh->VisArea().IsOver( rRect ) ) - pSh->GetWin()->Invalidate( rRect.SVRect() ); + if ( rSh.IsPreview() ) + ::RepaintPagePreview( &rSh, rRect ); + else if ( rSh.VisArea().IsOver( rRect ) ) + rSh.GetWin()->Invalidate( rRect.SVRect() ); } - pSh = static_cast<SwViewShell*>(pSh->GetNext()); - - } while ( pSh != this ); + } } } commit 4d4b2ecb4e348ba783b6282e4fb27a771a589660 Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 22:55:09 2014 +0100 use C++11 iteration Change-Id: Idcbc7a2a88623ce370d0325284d2e8f96a9e2033 diff --git a/sw/source/core/view/viewsh.cxx b/sw/source/core/view/viewsh.cxx index 70ba96b..06496b8 100644 --- a/sw/source/core/view/viewsh.cxx +++ b/sw/source/core/view/viewsh.cxx @@ -495,18 +495,16 @@ void SwViewShell::ImplUnlockPaint( bool bVirDev ) bool SwViewShell::AddPaintRect( const SwRect & rRect ) { bool bRet = false; - SwViewShell *pSh = this; - do + for(SwViewShell& rSh : GetRingContainer()) { - if( pSh->Imp() ) + if( rSh.Imp() ) { - if ( pSh->IsPreview() && pSh->GetWin() ) - ::RepaintPagePreview( pSh, rRect ); + if ( rSh.IsPreview() && rSh.GetWin() ) + ::RepaintPagePreview( &rSh, rRect ); else - bRet |= pSh->Imp()->AddPaintRect( rRect ); + bRet |= rSh.Imp()->AddPaintRect( rRect ); } - pSh = static_cast<SwViewShell*>(pSh->GetNext()); - } while ( pSh != this ); + } return bRet; } commit 3c1b9b89caddeff71afd3d97f52dd93df5c529af Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 19:00:34 2014 +0100 unnecessary cast Change-Id: I8096a0dfe0478671183c66fd9d1d516ec4ed3537 diff --git a/sw/source/core/view/viewsh.cxx b/sw/source/core/view/viewsh.cxx index 73ea54f..70ba96b 100644 --- a/sw/source/core/view/viewsh.cxx +++ b/sw/source/core/view/viewsh.cxx @@ -224,7 +224,7 @@ void SwViewShell::ImplEndAction( const bool bIdleEnd ) //will this put the EndAction of the last shell in the sequence? SwViewShell::mbLstAct = true; - SwViewShell *pSh = static_cast<SwViewShell*>(this->GetNext()); + SwViewShell *pSh = this->GetNext(); while ( pSh != this ) { if ( pSh->ActionPend() ) @@ -233,7 +233,7 @@ void SwViewShell::ImplEndAction( const bool bIdleEnd ) pSh = this; } else - pSh = static_cast<SwViewShell*>(pSh->GetNext()); + pSh = pSh->GetNext(); } const bool bIsShellForCheckViewLayout = ( this == GetLayout()->GetCurrShell() ); commit 005b96a409bd87b2a73842079a0de06b548334b8 Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 18:58:26 2014 +0100 use C++11 iteration Change-Id: If49d9f859ce9827adf7f578f5f5d5d421f65fcf5 diff --git a/sw/source/core/view/viewimp.cxx b/sw/source/core/view/viewimp.cxx index 2010f1a..b08aa42 100644 --- a/sw/source/core/view/viewimp.cxx +++ b/sw/source/core/view/viewimp.cxx @@ -394,17 +394,13 @@ void SwViewImp::_InvalidateAccessibleParaTextSelection() /// invalidate attributes for paragraphs void SwViewImp::_InvalidateAccessibleParaAttrs( const SwTxtFrm& rTxtFrm ) { - SwViewShell* pVSh = GetShell(); - SwViewShell* pTmp = pVSh; - do + for(SwViewShell& rTmp : GetShell()->GetRingContainer()) { - if ( pTmp->Imp()->IsAccessible() ) + if ( rTmp.Imp()->IsAccessible() ) { - pTmp->Imp()->GetAccessibleMap().InvalidateAttr( rTxtFrm ); + rTmp.Imp()->GetAccessibleMap().InvalidateAttr( rTxtFrm ); } - - pTmp = static_cast<SwViewShell *>(pTmp->GetNext()); - } while ( pTmp != pVSh ); + } } // OD 15.01.2003 #103492# - method signature change due to new page preview functionality commit 7cfba9f7154ab9914ac18f98f7020c5c5b776d2d Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 18:57:56 2014 +0100 use C++11 iteration Change-Id: I4cc45d4391ad724919b2253ca32b4cafa53c796a diff --git a/sw/source/core/view/viewimp.cxx b/sw/source/core/view/viewimp.cxx index 174e658..2010f1a 100644 --- a/sw/source/core/view/viewimp.cxx +++ b/sw/source/core/view/viewimp.cxx @@ -382,17 +382,13 @@ void SwViewImp::_InvalidateAccessibleParaFlowRelation( const SwTxtFrm* _pFromTxt /// invalidate text selection for paragraphs void SwViewImp::_InvalidateAccessibleParaTextSelection() { - SwViewShell* pVSh = GetShell(); - SwViewShell* pTmp = pVSh; - do + for(SwViewShell& rTmp : GetShell()->GetRingContainer()) { - if ( pTmp->Imp()->IsAccessible() ) + if ( rTmp.Imp()->IsAccessible() ) { - pTmp->Imp()->GetAccessibleMap().InvalidateTextSelectionOfAllParas(); + rTmp.Imp()->GetAccessibleMap().InvalidateTextSelectionOfAllParas(); } - - pTmp = static_cast<SwViewShell *>(pTmp->GetNext()); - } while ( pTmp != pVSh ); + } } /// invalidate attributes for paragraphs commit 0794cbf28e2cc5d548853d92b23be85615b2416a Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 18:56:56 2014 +0100 use C++11 iteration Change-Id: Ib1c6dd47b9168845ad1b864ffbda01c1d6a3afe8 diff --git a/sw/source/core/view/viewimp.cxx b/sw/source/core/view/viewimp.cxx index 9c9f286..174e658 100644 --- a/sw/source/core/view/viewimp.cxx +++ b/sw/source/core/view/viewimp.cxx @@ -361,25 +361,22 @@ void SwViewImp::_InvalidateAccessibleParaFlowRelation( const SwTxtFrm* _pFromTxt return; } - SwViewShell* pVSh = GetShell(); - SwViewShell* pTmp = pVSh; - do + for(SwViewShell& rTmp : GetShell()->GetRingContainer()) { - if ( pTmp->Imp()->IsAccessible() ) + if ( rTmp.Imp()->IsAccessible() ) { if ( _pFromTxtFrm ) { - pTmp->Imp()->GetAccessibleMap(). + rTmp.Imp()->GetAccessibleMap(). InvalidateParaFlowRelation( *_pFromTxtFrm, true ); } if ( _pToTxtFrm ) { - pTmp->Imp()->GetAccessibleMap(). + rTmp.Imp()->GetAccessibleMap(). InvalidateParaFlowRelation( *_pToTxtFrm, false ); } } - pTmp = static_cast<SwViewShell *>(pTmp->GetNext()); - } while ( pTmp != pVSh ); + } } /// invalidate text selection for paragraphs commit f221da28f676b9f72364394cc52dc49b04cbc17d Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 18:56:11 2014 +0100 use C++11 iteration Change-Id: I27d2c8caed61096d47970fba2104b61b0141997c diff --git a/sw/source/core/view/viewimp.cxx b/sw/source/core/view/viewimp.cxx index 7355257..9c9f286 100644 --- a/sw/source/core/view/viewimp.cxx +++ b/sw/source/core/view/viewimp.cxx @@ -343,15 +343,12 @@ void SwViewImp::InvalidateAccessibleEditableState( bool bAllShells, void SwViewImp::InvalidateAccessibleRelationSet( const SwFlyFrm *pMaster, const SwFlyFrm *pFollow ) { - SwViewShell *pVSh = GetShell(); - SwViewShell *pTmp = pVSh; - do + for(SwViewShell& rTmp : GetShell()->GetRingContainer()) { - if( pTmp->Imp()->IsAccessible() ) - pTmp->Imp()->GetAccessibleMap().InvalidateRelationSet( pMaster, + if( rTmp.Imp()->IsAccessible() ) + rTmp.Imp()->GetAccessibleMap().InvalidateRelationSet( pMaster, pFollow ); - pTmp = static_cast<SwViewShell *>(pTmp->GetNext()); - } while ( pTmp != pVSh ); + } } /// invalidate CONTENT_FLOWS_FROM/_TO relation for paragraphs commit 65a1a6afd3474f2b56f1d42cefeed971411b0d61 Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 18:55:32 2014 +0100 use C++11 iteration Change-Id: I06fa257210d58fef53eb8cdce44d5559ad0309f1 diff --git a/sw/source/core/view/viewimp.cxx b/sw/source/core/view/viewimp.cxx index 998a1a3..7355257 100644 --- a/sw/source/core/view/viewimp.cxx +++ b/sw/source/core/view/viewimp.cxx @@ -328,14 +328,11 @@ void SwViewImp::InvalidateAccessibleEditableState( bool bAllShells, { if( bAllShells ) { - SwViewShell *pVSh = GetShell(); - SwViewShell *pTmp = pVSh; - do + for(SwViewShell& rTmp : GetShell()->GetRingContainer()) { - if( pTmp->Imp()->IsAccessible() ) - pTmp->Imp()->GetAccessibleMap().InvalidateStates( ACC_STATE_EDITABLE, pFrm ); - pTmp = static_cast<SwViewShell *>(pTmp->GetNext()); - } while ( pTmp != pVSh ); + if( rTmp.Imp()->IsAccessible() ) + rTmp.Imp()->GetAccessibleMap().InvalidateStates( ACC_STATE_EDITABLE, pFrm ); + } } else if( IsAccessible() ) { commit 548a3c8fb5a2a05589159bf4fbde5b37601b728a Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 18:54:55 2014 +0100 use C++11 iteration Change-Id: I1b72decd1ef34575508d39c9ee09bb6e5c3f108b diff --git a/sw/source/core/view/viewimp.cxx b/sw/source/core/view/viewimp.cxx index a1db803..998a1a3 100644 --- a/sw/source/core/view/viewimp.cxx +++ b/sw/source/core/view/viewimp.cxx @@ -310,14 +310,11 @@ void SwViewImp::MoveAccessible( const SwFrm *pFrm, const SdrObject *pObj, void SwViewImp::InvalidateAccessibleFrmContent( const SwFrm *pFrm ) { OSL_ENSURE( pFrm->IsAccessibleFrm(), "frame is not accessible" ); - SwViewShell *pVSh = GetShell(); - SwViewShell *pTmp = pVSh; - do + for(SwViewShell& rTmp : GetShell()->GetRingContainer()) { - if( pTmp->Imp()->IsAccessible() ) - pTmp->Imp()->GetAccessibleMap().InvalidateContent( pFrm ); - pTmp = static_cast<SwViewShell *>(pTmp->GetNext()); - } while ( pTmp != pVSh ); + if( rTmp.Imp()->IsAccessible() ) + rTmp.Imp()->GetAccessibleMap().InvalidateContent( pFrm ); + } } void SwViewImp::InvalidateAccessibleCursorPosition( const SwFrm *pFrm ) commit fb793876f6c25a4c55fbc2423055d3fd5d49b174 Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 18:54:09 2014 +0100 use C++11 iteration Change-Id: I317f0d6c48f0936cfe2d2f8707e42d9e7b5aad7d diff --git a/sw/source/core/view/viewimp.cxx b/sw/source/core/view/viewimp.cxx index a1d3786..a1db803 100644 --- a/sw/source/core/view/viewimp.cxx +++ b/sw/source/core/view/viewimp.cxx @@ -299,15 +299,12 @@ void SwViewImp::MoveAccessible( const SwFrm *pFrm, const SdrObject *pObj, const SwRect& rOldFrm ) { OSL_ENSURE( !pFrm || pFrm->IsAccessibleFrm(), "frame is not accessible" ); - SwViewShell *pVSh = GetShell(); - SwViewShell *pTmp = pVSh; - do + for(SwViewShell& rTmp : GetShell()->GetRingContainer()) { - if( pTmp->Imp()->IsAccessible() ) - pTmp->Imp()->GetAccessibleMap().InvalidatePosOrSize( pFrm, pObj, 0, + if( rTmp.Imp()->IsAccessible() ) + rTmp.Imp()->GetAccessibleMap().InvalidatePosOrSize( pFrm, pObj, 0, rOldFrm ); - pTmp = static_cast<SwViewShell *>(pTmp->GetNext()); - } while ( pTmp != pVSh ); + } } void SwViewImp::InvalidateAccessibleFrmContent( const SwFrm *pFrm ) commit 5326f670ff0e8a442fa3f54e787d90b2bc489ff8 Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 18:53:31 2014 +0100 use C++11 iteration Change-Id: I859453d7b18bd5f4af7bad25bd0439c1f926b02f diff --git a/sw/source/core/view/viewimp.cxx b/sw/source/core/view/viewimp.cxx index 1a569a3..a1d3786 100644 --- a/sw/source/core/view/viewimp.cxx +++ b/sw/source/core/view/viewimp.cxx @@ -288,14 +288,11 @@ void SwViewImp::DisposeAccessible( const SwFrm *pFrm, bool bRecursive ) { OSL_ENSURE( !pFrm || pFrm->IsAccessibleFrm(), "frame is not accessible" ); - SwViewShell *pVSh = GetShell(); - SwViewShell *pTmp = pVSh; - do + for(SwViewShell& rTmp : GetShell()->GetRingContainer()) { - if( pTmp->Imp()->IsAccessible() ) - pTmp->Imp()->GetAccessibleMap().Dispose( pFrm, pObj, 0, bRecursive ); - pTmp = static_cast<SwViewShell *>(pTmp->GetNext()); - } while ( pTmp != pVSh ); + if( rTmp.Imp()->IsAccessible() ) + rTmp.Imp()->GetAccessibleMap().Dispose( pFrm, pObj, 0, bRecursive ); + } } void SwViewImp::MoveAccessible( const SwFrm *pFrm, const SdrObject *pObj, commit 6e778991147395b7385decf797c75051da08e29d Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 23:11:23 2014 +0100 use C++11 iteration Change-Id: I8f12726aee31dd123861340a85f247ba546bf8a8 diff --git a/sw/source/core/unocore/unoobj2.cxx b/sw/source/core/unocore/unoobj2.cxx index 45f95e5..ec47aff 100644 --- a/sw/source/core/unocore/unoobj2.cxx +++ b/sw/source/core/unocore/unoobj2.cxx @@ -1536,22 +1536,19 @@ void SwXTextRanges::Impl::Modify( const SfxPoolItem *pOld, const SfxPoolItem *pN void SwXTextRanges::Impl::MakeRanges() { - SwUnoCrsr *const pCursor = GetCursor(); - if (pCursor) + if (GetCursor()) { - SwPaM *pTmpCursor = pCursor; - do { + for(SwPaM& rTmpCursor : GetCursor()->GetRingContainer()) + { const uno::Reference< text::XTextRange > xRange( SwXTextRange::CreateXTextRange( - *pTmpCursor->GetDoc(), - *pTmpCursor->GetPoint(), pTmpCursor->GetMark())); + *rTmpCursor.GetDoc(), + *rTmpCursor.GetPoint(), rTmpCursor.GetMark())); if (xRange.is()) { m_Ranges.push_back(xRange); } - pTmpCursor = static_cast<SwPaM*>(pTmpCursor->GetNext()); } - while (pTmpCursor != pCursor); } } commit 1de19df963513a3f78e5bd4a73c059f1c32c599d Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 18:48:19 2014 +0100 unnecessary cast Change-Id: I15fb840897556ebef63611ced01468461179203d diff --git a/sw/source/core/unocore/unoobj2.cxx b/sw/source/core/unocore/unoobj2.cxx index 9cc2e34..45f95e5 100644 --- a/sw/source/core/unocore/unoobj2.cxx +++ b/sw/source/core/unocore/unoobj2.cxx @@ -1077,7 +1077,7 @@ bool XTextRangeToSwPaM( SwUnoInternalPaM & rToFill, : ((pPortion) ? pPortion->GetCursor() : 0); if (pUnoCrsr && pDoc == rToFill.GetDoc()) { - OSL_ENSURE(static_cast<SwPaM*>(pUnoCrsr->GetNext()) == pUnoCrsr, + OSL_ENSURE(pUnoCrsr->GetNext() == pUnoCrsr, "what to do about rings?"); bRet = true; *rToFill.GetPoint() = *pUnoCrsr->GetPoint(); commit 723753385dfb7c31835427fef4db8bc8df7d78dd Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 18:47:46 2014 +0100 use C++11 iteration Change-Id: I0e2279ebe223d17b2ee2f337faaa69cee956e1c6 diff --git a/sw/source/core/unocore/unoobj2.cxx b/sw/source/core/unocore/unoobj2.cxx index 49d4600..9cc2e34 100644 --- a/sw/source/core/unocore/unoobj2.cxx +++ b/sw/source/core/unocore/unoobj2.cxx @@ -351,11 +351,10 @@ void SwUnoCursorHelper::GetCrsrAttr(SwPaM & rPam, static const sal_uLong nMaxLookup = 1000; SfxItemSet aSet( *rSet.GetPool(), rSet.GetRanges() ); SfxItemSet *pSet = &rSet; - SwPaM *pCurrent = & rPam; - do + for(SwPaM& rCurrent : rPam.GetRingContainer()) { - SwPosition const & rStart( *pCurrent->Start() ); - SwPosition const & rEnd( *pCurrent->End() ); + SwPosition const & rStart( *rCurrent.Start() ); + SwPosition const & rEnd( *rCurrent.End() ); const sal_uLong nSttNd = rStart.nNode.GetIndex(); const sal_uLong nEndNd = rEnd .nNode.GetIndex(); @@ -407,8 +406,7 @@ void SwUnoCursorHelper::GetCrsrAttr(SwPaM & rPam, aSet.ClearItem(); } } - pCurrent= static_cast<SwPaM *>(pCurrent->GetNext()); - } while ( pCurrent != &rPam ); + } } class SwXParagraphEnumeration::Impl commit 001180222a995b2b76900d1de9ddf3c844037edc Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 18:46:13 2014 +0100 use C++11 iteration Change-Id: I1a892b13d8716c9963f344bb57febbc7118561b2 diff --git a/sw/source/core/unocore/unoobj2.cxx b/sw/source/core/unocore/unoobj2.cxx index 883ff5c..49d4600 100644 --- a/sw/source/core/unocore/unoobj2.cxx +++ b/sw/source/core/unocore/unoobj2.cxx @@ -315,17 +315,15 @@ void SwUnoCursorHelper::SetCrsrAttr(SwPaM & rPam, { pDoc->GetIDocumentUndoRedo().StartUndo(UNDO_INSATTR, NULL); - SwPaM *pCurrent = &rPam; - do + for(SwPaM& rCurrent : rPam.GetRingContainer()) { - if (pCurrent->HasMark() && + if (rCurrent.HasMark() && ( (bTableMode) || - (*pCurrent->GetPoint() != *pCurrent->GetMark()) )) + (*rCurrent.GetPoint() != *rCurrent.GetMark()) )) { - pDoc->getIDocumentContentOperations().InsertItemSet(*pCurrent, rSet, nFlags); + pDoc->getIDocumentContentOperations().InsertItemSet(rCurrent, rSet, nFlags); } - pCurrent= static_cast<SwPaM *>(pCurrent->GetNext()); - } while (pCurrent != &rPam); + } pDoc->GetIDocumentUndoRedo().EndUndo(UNDO_INSATTR, NULL); } commit ec47c1b80b264e21b6ee6ffe00ca2fa6d82b5396 Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 18:44:10 2014 +0100 unnecessary cast Change-Id: I32f3396f97e7144f5aa4037d4a312085ac113e3d diff --git a/sw/source/core/unocore/unoobj2.cxx b/sw/source/core/unocore/unoobj2.cxx index 09cdf3e..883ff5c 100644 --- a/sw/source/core/unocore/unoobj2.cxx +++ b/sw/source/core/unocore/unoobj2.cxx @@ -140,14 +140,14 @@ void DeepCopyPaM(SwPaM const & rSource, SwPaM & rTarget) if (rSource.GetNext() != &rSource) { - SwPaM *pPam = static_cast<SwPaM *>(rSource.GetNext()); + SwPaM *pPam = rSource.GetNext(); do { // create new PaM SwPaM *const pNew = new SwPaM(*pPam); // insert into ring pNew->MoveTo(&rTarget); - pPam = static_cast<SwPaM *>(pPam->GetNext()); + pPam = pPam->GetNext(); } while (pPam != &rSource); } commit 63ca4cd4aa5c6b52bb68aaaa1b2e30ce366eb5ee Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 18:40:51 2014 +0100 use C++11 iteration Change-Id: I49b2c2f825a23972a0bad321cbb41eb2d8651d8f diff --git a/sw/source/core/undo/docundo.cxx b/sw/source/core/undo/docundo.cxx index 470abe1..63cc4b0 100644 --- a/sw/source/core/undo/docundo.cxx +++ b/sw/source/core/undo/docundo.cxx @@ -561,16 +561,17 @@ bool UndoManager::Repeat(::sw::RepeatContext & rContext, EnterListAction(comment, rcomment, nId); } - SwPaM *const pFirstCursor(& rContext.GetRepeatPaM()); - do { // iterate over ring + SwPaM* pTmp = rContext.m_pCurrentPaM; + for(SwPaM& rPaM : rContext.GetRepeatPaM().GetRingContainer()) + { // iterate over ring + rContext.m_pCurrentPaM = &rPaM; for (sal_uInt16 nRptCnt = nRepeatCount; nRptCnt > 0; --nRptCnt) { pRepeatAction->Repeat(rContext); } rContext.m_bDeleteRepeated = false; // reset for next PaM - rContext.m_pCurrentPaM = - static_cast<SwPaM*>(rContext.m_pCurrentPaM->GetNext()); - } while (pFirstCursor != & rContext.GetRepeatPaM()); + } + rContext.m_pCurrentPaM = pTmp; if (DoesUndo()) { commit f0b92b8bdf60dab4c60263d29bf7d5b415fde284 Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 18:32:23 2014 +0100 use C++11 iteration Change-Id: I383e7552160c5e12796ddf7cb13058d99032c7f5 diff --git a/sw/source/core/text/xmldump.cxx b/sw/source/core/text/xmldump.cxx index e5865b3..58e52f7 100644 --- a/sw/source/core/text/xmldump.cxx +++ b/sw/source/core/text/xmldump.cxx @@ -299,19 +299,16 @@ void SwFrm::dumpAsXml( xmlTextWriterPtr writer ) const const SwRootFrm* const pRootFrm = static_cast<const SwRootFrm* const>(this); SwEditShell* pEditShell = pRootFrm->GetCurrShell()->GetDoc()->GetEditShell(); xmlTextWriterStartElement(writer, BAD_CAST("shellCrsr")); - SwPaM* pPaM = pEditShell->getShellCrsr(false); - do + for(SwPaM& rPaM : pEditShell->getShellCrsr(false)->GetRingContainer()) { xmlTextWriterStartElement(writer, BAD_CAST("swpam")); - xmlTextWriterWriteFormatAttribute(writer, BAD_CAST("pointNodeIndex"), "%ld", pPaM->GetPoint()->nNode.GetIndex()); - xmlTextWriterWriteFormatAttribute(writer, BAD_CAST("pointContentIndex"), "%" SAL_PRIdINT32, pPaM->GetPoint()->nContent.GetIndex()); + xmlTextWriterWriteFormatAttribute(writer, BAD_CAST("pointNodeIndex"), "%ld", rPaM.GetPoint()->nNode.GetIndex()); + xmlTextWriterWriteFormatAttribute(writer, BAD_CAST("pointContentIndex"), "%" SAL_PRIdINT32, rPaM.GetPoint()->nContent.GetIndex()); - xmlTextWriterWriteFormatAttribute(writer, BAD_CAST("markNodeIndex"), "%ld", pPaM->GetMark()->nNode.GetIndex()); - xmlTextWriterWriteFormatAttribute(writer, BAD_CAST("markContentIndex"), "%" SAL_PRIdINT32, pPaM->GetMark()->nContent.GetIndex()); + xmlTextWriterWriteFormatAttribute(writer, BAD_CAST("markNodeIndex"), "%ld", rPaM.GetMark()->nNode.GetIndex()); + xmlTextWriterWriteFormatAttribute(writer, BAD_CAST("markContentIndex"), "%" SAL_PRIdINT32, rPaM.GetMark()->nContent.GetIndex()); xmlTextWriterEndElement(writer); - pPaM = static_cast<SwPaM*>(pPaM->GetNext()); } - while (pPaM && pPaM != pEditShell->getShellCrsr(false)); xmlTextWriterEndElement(writer); } commit 71101b2ced8ed7aa252e3fcb0c9c7a6f13b0bc9a Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 18:27:44 2014 +0100 use C++11 iteration Change-Id: I725c39b8cda4f4f395cae2d70f221650f1e2a790 diff --git a/sw/source/core/layout/paintfrm.cxx b/sw/source/core/layout/paintfrm.cxx index 6107635..228bbee 100644 --- a/sw/source/core/layout/paintfrm.cxx +++ b/sw/source/core/layout/paintfrm.cxx @@ -3197,18 +3197,19 @@ void SwRootFrm::Paint(SwRect const& rRect, SwPrintData const*const pPrintData) c // all existing <SwViewShell> instances. bool bPerformLayoutAction( true ); { - SwViewShell* pTmpViewShell = pSh; - do { - if ( pTmpViewShell->IsInEndAction() || - pTmpViewShell->IsPaintInProgress() || - ( pTmpViewShell->Imp()->IsAction() && - pTmpViewShell->Imp()->GetLayAction().IsActionInProgress() ) ) + for(SwViewShell& rTmpViewShell : pSh->GetRingContainer()) + { + if ( rTmpViewShell.IsInEndAction() || + rTmpViewShell.IsPaintInProgress() || + ( rTmpViewShell.Imp()->IsAction() && + rTmpViewShell.Imp()->GetLayAction().IsActionInProgress() ) ) { bPerformLayoutAction = false; } - pTmpViewShell = static_cast<SwViewShell*>(pTmpViewShell->GetNext()); - } while ( bPerformLayoutAction && pTmpViewShell != pSh ); + if(!bPerformLayoutAction) + break; + } } if ( bPerformLayoutAction ) { commit 5e023bf54abbae936230899edac03ec5f6bec441 Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 18:25:22 2014 +0100 use C++11 iteration Change-Id: Ic51ddaf05c6377c27dfe81277228b43c305fc632 diff --git a/sw/source/core/layout/pagechg.cxx b/sw/source/core/layout/pagechg.cxx index d4e54088..02c523b 100644 --- a/sw/source/core/layout/pagechg.cxx +++ b/sw/source/core/layout/pagechg.cxx @@ -1776,14 +1776,12 @@ static void lcl_MoveAllLowerObjs( SwFrm* pFrm, const Point& rOffset ) svt::EmbeddedObjectRef& xObj = pNode->GetOLEObj().GetObject(); if ( xObj.is() ) { - SwViewShell* pTmp = pSh; - do + for(SwViewShell& rSh : pSh->GetRingContainer()) { - SwFEShell* pFEShell = dynamic_cast< SwFEShell* >( pTmp ); + SwFEShell* pFEShell = dynamic_cast< SwFEShell* >( &rSh ); if ( pFEShell ) pFEShell->MoveObjectIfActive( xObj, rOffset ); - pTmp = static_cast<SwViewShell*>( pTmp->GetNext() ); - } while( pTmp != pSh ); + } } } } commit 0dcdbefaf9a7ac2c1d632d0246fca3f9d55b1f85 Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 18:24:01 2014 +0100 use C++11 iteration Change-Id: Ifc64a7e301e9ecaa59890d0363d699eb9ff5812d diff --git a/sw/source/core/layout/pagechg.cxx b/sw/source/core/layout/pagechg.cxx index 09f6ad0..d4e54088 100644 --- a/sw/source/core/layout/pagechg.cxx +++ b/sw/source/core/layout/pagechg.cxx @@ -1711,23 +1711,20 @@ void SwRootFrm::UnoRemoveAllActions() void SwRootFrm::UnoRestoreAllActions() { - SwViewShell *pSh = GetCurrShell(); - if ( pSh ) - do + if ( GetCurrShell() ) + for(SwViewShell& rSh : GetCurrShell()->GetRingContainer()) { - sal_uInt16 nActions = pSh->GetRestoreActions(); + sal_uInt16 nActions = rSh.GetRestoreActions(); while( nActions-- ) { - if ( pSh->ISA( SwCrsrShell ) ) - static_cast<SwCrsrShell*>(pSh)->StartAction(); + if ( rSh.ISA( SwCrsrShell ) ) + static_cast<SwCrsrShell*>(&rSh)->StartAction(); else - pSh->StartAction(); + rSh.StartAction(); } - pSh->SetRestoreActions(0); - pSh->LockView(false); - pSh = static_cast<SwViewShell*>(pSh->GetNext()); - - } while ( pSh != GetCurrShell() ); + rSh.SetRestoreActions(0); + rSh.LockView(false); + } } // Helper functions for SwRootFrm::CheckViewLayout commit d14ab0133c683409dcf6287006d9c62dfa445f7a Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 18:23:03 2014 +0100 use C++11 iteration Change-Id: I20a3aeef306ca83daa2d78647814ff6bb32ef082 diff --git a/sw/source/core/layout/pagechg.cxx b/sw/source/core/layout/pagechg.cxx index e562a8d..09f6ad0 100644 --- a/sw/source/core/layout/pagechg.cxx +++ b/sw/source/core/layout/pagechg.cxx @@ -1678,38 +1678,35 @@ void SwRootFrm::EndAllAction( bool bVirDev ) void SwRootFrm::UnoRemoveAllActions() { - SwViewShell *pSh = GetCurrShell(); - if ( pSh ) - do + if ( GetCurrShell() ) + for(SwViewShell& rSh : GetCurrShell()->GetRingContainer()) { // #i84729# // No end action, if <SwViewShell> instance is currently in its end action. // Recursives calls to <::EndAction()> are not allowed. - if ( !pSh->IsInEndAction() ) + if ( !rSh.IsInEndAction() ) { - OSL_ENSURE(!pSh->GetRestoreActions(), "Restore action count is already set!"); - bool bCrsr = pSh->ISA( SwCrsrShell ); - bool bFE = pSh->ISA( SwFEShell ); + OSL_ENSURE(!rSh.GetRestoreActions(), "Restore action count is already set!"); + bool bCrsr = rSh.ISA( SwCrsrShell ); + bool bFE = rSh.ISA( SwFEShell ); sal_uInt16 nRestore = 0; - while( pSh->ActionCount() ) + while( rSh.ActionCount() ) { if( bCrsr ) { - static_cast<SwCrsrShell*>(pSh)->EndAction(); - static_cast<SwCrsrShell*>(pSh)->CallChgLnk(); + static_cast<SwCrsrShell*>(&rSh)->EndAction(); + static_cast<SwCrsrShell*>(&rSh)->CallChgLnk(); if ( bFE ) - static_cast<SwFEShell*>(pSh)->SetChainMarker(); + static_cast<SwFEShell*>(&rSh)->SetChainMarker(); } else - pSh->EndAction(); + rSh.EndAction(); nRestore++; } - pSh->SetRestoreActions(nRestore); + rSh.SetRestoreActions(nRestore); } - pSh->LockView(true); - pSh = static_cast<SwViewShell*>(pSh->GetNext()); - - } while ( pSh != GetCurrShell() ); + rSh.LockView(true); + } } void SwRootFrm::UnoRestoreAllActions() commit 63ef826b08623ff3cdd8f9692544fcb87bb16206 Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 18:21:31 2014 +0100 use C++11 iteration Change-Id: Ic43c07b1530595980794f89f94dfad28771fc155 diff --git a/sw/source/core/layout/pagechg.cxx b/sw/source/core/layout/pagechg.cxx index 2d93441..e562a8d 100644 --- a/sw/source/core/layout/pagechg.cxx +++ b/sw/source/core/layout/pagechg.cxx @@ -1658,25 +1658,22 @@ void SwRootFrm::StartAllAction() void SwRootFrm::EndAllAction( bool bVirDev ) { - SwViewShell *pSh = GetCurrShell(); - if ( pSh ) - do + if ( GetCurrShell() ) + for(SwViewShell& rSh : GetCurrShell()->GetRingContainer()) { - const bool bOldEndActionByVirDev = pSh->IsEndActionByVirDev(); - pSh->SetEndActionByVirDev( bVirDev ); - if ( pSh->ISA( SwCrsrShell ) ) + const bool bOldEndActionByVirDev = rSh.IsEndActionByVirDev(); + rSh.SetEndActionByVirDev( bVirDev ); + if ( rSh.ISA( SwCrsrShell ) ) { - static_cast<SwCrsrShell*>(pSh)->EndAction(); - static_cast<SwCrsrShell*>(pSh)->CallChgLnk(); - if ( pSh->ISA( SwFEShell ) ) - static_cast<SwFEShell*>(pSh)->SetChainMarker(); + static_cast<SwCrsrShell*>(&rSh)->EndAction(); + static_cast<SwCrsrShell*>(&rSh)->CallChgLnk(); + if ( rSh.ISA( SwFEShell ) ) + static_cast<SwFEShell*>(&rSh)->SetChainMarker(); } else - pSh->EndAction(); - pSh->SetEndActionByVirDev( bOldEndActionByVirDev ); - pSh = static_cast<SwViewShell*>(pSh->GetNext()); - - } while ( pSh != GetCurrShell() ); + rSh.EndAction(); + rSh.SetEndActionByVirDev( bOldEndActionByVirDev ); + } } void SwRootFrm::UnoRemoveAllActions() commit 65bc59b22c8c1eab0cc56baf4987f6af384a6808 Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 18:18:45 2014 +0100 use C++11 iteration Change-Id: Ie7f7b7125029b1e0e2935b061d454cd5b6719543 diff --git a/sw/source/core/layout/pagechg.cxx b/sw/source/core/layout/pagechg.cxx index 8b2c8c6..2d93441 100644 --- a/sw/source/core/layout/pagechg.cxx +++ b/sw/source/core/layout/pagechg.cxx @@ -1646,16 +1646,14 @@ void SwRootFrm::ImplCalcBrowseWidth() void SwRootFrm::StartAllAction() { - SwViewShell *pSh = GetCurrShell(); - if ( pSh ) - do - { if ( pSh->ISA( SwCrsrShell ) ) - static_cast<SwCrsrShell*>(pSh)->StartAction(); + if ( GetCurrShell() ) + for(SwViewShell& rSh : GetCurrShell()->GetRingContainer()) + { + if ( rSh.ISA( SwCrsrShell ) ) + static_cast<SwCrsrShell*>(&rSh)->StartAction(); else - pSh->StartAction(); - pSh = static_cast<SwViewShell*>(pSh->GetNext()); - - } while ( pSh != GetCurrShell() ); + rSh.StartAction(); + } } void SwRootFrm::EndAllAction( bool bVirDev ) commit e132165bc4b17eb154c729507bd6cbb1b5724e6f Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 18:16:04 2014 +0100 use C++11 iteration and simplify cast Change-Id: I773bc94800ab0b2354543524fb337ccca9aa6f01 diff --git a/sw/source/core/layout/pagechg.cxx b/sw/source/core/layout/pagechg.cxx index 43ed48e..8b2c8c6 100644 --- a/sw/source/core/layout/pagechg.cxx +++ b/sw/source/core/layout/pagechg.cxx @@ -762,19 +762,17 @@ void AdjustSizeChgNotify( SwRootFrm *pRoot ) { const bool bOld = pRoot->IsSuperfluous(); pRoot->bCheckSuperfluous = false; - SwViewShell *pSh = pRoot->GetCurrShell(); - if ( pSh ) + if ( pRoot->GetCurrShell() ) { - do + for(SwViewShell& rSh : pRoot->GetCurrShell()->GetRingContainer()) { - if( pRoot == pSh->GetLayout() ) + if( pRoot == rSh.GetLayout() ) { - pSh->SizeChgNotify(); - if ( pSh->Imp() ) - pSh->Imp()->NotifySizeChg( pRoot->Frm().SSize() ); + rSh.SizeChgNotify(); + if ( rSh.Imp() ) + rSh.Imp()->NotifySizeChg( pRoot->Frm().SSize() ); } - pSh = static_cast<SwViewShell*>(pSh->GetNext()); - } while ( pSh != pRoot->GetCurrShell() ); + } } pRoot->bCheckSuperfluous = bOld; } commit f3cebf364414068f8e5f4105a64fcff0dc29ecc9 Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 18:12:55 2014 +0100 unnecessary cast Change-Id: I606960e54719700d0bc3b5c2dee6f2c1f2ee0b1b diff --git a/sw/source/core/layout/newfrm.cxx b/sw/source/core/layout/newfrm.cxx index aea4480..041267a 100644 --- a/sw/source/core/layout/newfrm.cxx +++ b/sw/source/core/layout/newfrm.cxx @@ -415,7 +415,7 @@ void SwRootFrm::DeRegisterShell( SwViewShell *pSh ) { // Activate some shell if possible if ( pCurrShell == pSh ) - pCurrShell = pSh->GetNext() != pSh ? static_cast<SwViewShell*>(pSh->GetNext()) : 0; + pCurrShell = pSh->GetNext() != pSh ? pSh->GetNext() : nullptr; // Doesn't matter anymore if ( pWaitingCurrShell == pSh ) commit f367924f17f43448e7077e524145229549005ee2 Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 18:10:53 2014 +0100 use C++11 iteration and simplify cast Change-Id: I3de5f37adfa0d3d46d9cbc1ce74205750357c481 diff --git a/sw/source/core/layout/layact.cxx b/sw/source/core/layout/layact.cxx index 137b429..d830ed7 100644 --- a/sw/source/core/layout/layact.cxx +++ b/sw/source/core/layout/layact.cxx @@ -2172,88 +2172,87 @@ SwLayIdle::SwLayIdle( SwRootFrm *pRt, SwViewImp *pI ) : // somewhere or if the visibility of the CharRects has changed. bool bActions = false; size_t nBoolIdx = 0; - do + for(SwViewShell& rSh : pImp->GetShell()->GetRingContainer()) { - --pSh->mnStartAction; + --rSh.mnStartAction; - if ( pSh->Imp()->GetRegion() ) + if ( rSh.Imp()->GetRegion() ) bActions = true; else { - SwRect aTmp( pSh->VisArea() ); - pSh->UISizeNotify(); + SwRect aTmp( rSh.VisArea() ); + rSh.UISizeNotify(); // #137134# - // Are we supposed to crash if pSh isn't a cursor shell?! - // bActions |= aTmp != pSh->VisArea() || - // aBools[nBoolIdx] != ((SwCrsrShell*)pSh)->GetCharRect().IsOver( pSh->VisArea() ); + // Are we supposed to crash if rSh isn't a cursor shell?! + // bActions |= aTmp != rSh.VisArea() || + // aBools[nBoolIdx] != ((SwCrsrShell*)&rSh)->GetCharRect().IsOver( rSh.VisArea() ); // aBools[ i ] is true, if the i-th shell is a cursor shell (!!!) // and the cursor is visible. - bActions |= aTmp != pSh->VisArea(); - if ( aTmp == pSh->VisArea() && pSh->ISA(SwCrsrShell) ) + bActions |= aTmp != rSh.VisArea(); + if ( aTmp == rSh.VisArea() && rSh.ISA(SwCrsrShell) ) { bActions |= aBools[nBoolIdx] != - static_cast<SwCrsrShell*>(pSh)->GetCharRect().IsOver( pSh->VisArea() ); + static_cast<SwCrsrShell*>(&rSh)->GetCharRect().IsOver( rSh.VisArea() ); } } - pSh = static_cast<SwViewShell*>(pSh->GetNext()); ++nBoolIdx; - } while ( pSh != pImp->GetShell() ); + } if ( bActions ) { // Prepare start/end actions via CrsrShell, so the cursor, selection // and VisArea can be set correctly. nBoolIdx = 0; - do + for(SwViewShell& rSh : pImp->GetShell()->GetRingContainer()) { - bool bCrsrShell = pSh->IsA( TYPE(SwCrsrShell) ); + SwCrsrShell* pCrsrShell = nullptr; + if(rSh.IsA( TYPE(SwCrsrShell) )) + pCrsrShell = static_cast<SwCrsrShell*>(&rSh); - if ( bCrsrShell ) - static_cast<SwCrsrShell*>(pSh)->SttCrsrMove(); + if ( pCrsrShell ) + pCrsrShell->SttCrsrMove(); // If there are accrued paints, it's best to simply invalidate // the whole window. Otherwise there would arise paint problems whose // solution would be disproportionally expensive. //fix(18176): - SwViewImp *pViewImp = pSh->Imp(); + SwViewImp *pViewImp = rSh.Imp(); bool bUnlock = false; if ( pViewImp->GetRegion() ) { pViewImp->DelRegion(); // Cause a repaint with virtual device. - pSh->LockPaint(); + rSh.LockPaint(); bUnlock = true; } - if ( bCrsrShell ) + if ( pCrsrShell ) // If the Crsr was visible, we need to make it visible again. // Otherwise, EndCrsrMove with true for IdleEnd - static_cast<SwCrsrShell*>(pSh)->EndCrsrMove( !aBools[nBoolIdx] ); + pCrsrShell->EndCrsrMove( !aBools[nBoolIdx] ); if( bUnlock ) { - if( bCrsrShell ) + if( pCrsrShell ) { // UnlockPaint overwrite the selection from the // CrsrShell and calls the virtual method paint // to fill the virtual device. This fill dont have // paint the selection! -> Set the focus flag at // CrsrShell and it dont paint the selection. - static_cast<SwCrsrShell*>(pSh)->ShLooseFcs(); - pSh->UnlockPaint( true ); - static_cast<SwCrsrShell*>(pSh)->ShGetFcs( false ); + pCrsrShell->ShLooseFcs(); + pCrsrShell->UnlockPaint( true ); + pCrsrShell->ShGetFcs( false ); } else - pSh->UnlockPaint( true ); + rSh.UnlockPaint( true ); } - - pSh = static_cast<SwViewShell*>(pSh->GetNext()); ++nBoolIdx; - } while ( pSh != pImp->GetShell() ); + } } if (!bInterrupt) commit f0d0c8a4d6ca0371cabca56a095f6c00bd828287 Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 18:01:28 2014 +0100 use C++11 iteration Change-Id: Ifc772d50d6431d9c377d00729bfa77b4359af98a diff --git a/sw/source/core/layout/layact.cxx b/sw/source/core/layout/layact.cxx index 7f23905..137b429 100644 --- a/sw/source/core/layout/layact.cxx +++ b/sw/source/core/layout/layact.cxx @@ -2147,17 +2147,16 @@ SwLayIdle::SwLayIdle( SwRootFrm *pRt, SwViewImp *pI ) : // We remember the shells where the cursor is visible, so we can make // it visible again if needed after a document change. std::vector<bool> aBools; - SwViewShell *pSh = pImp->GetShell(); - do - { ++pSh->mnStartAction; + for(SwViewShell& rSh : pImp->GetShell()->GetRingContainer()) + { + ++rSh.mnStartAction; bool bVis = false; - if ( pSh->ISA(SwCrsrShell) ) + if ( rSh.ISA(SwCrsrShell) ) { - bVis = static_cast<SwCrsrShell*>(pSh)->GetCharRect().IsOver(pSh->VisArea()); + bVis = static_cast<SwCrsrShell*>(&rSh)->GetCharRect().IsOver(rSh.VisArea()); } aBools.push_back( bVis ); - pSh = static_cast<SwViewShell*>(pSh->GetNext()); - } while ( pSh != pImp->GetShell() ); + } bool bInterrupt(false); { commit b9e413c8192be0f962076debf41fec4544697c5b Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 17:57:14 2014 +0100 use C++11 iteration Change-Id: I104af918584aa49491787536f03ba734acb942bd diff --git a/sw/source/core/layout/frmtool.cxx b/sw/source/core/layout/frmtool.cxx index 6118656..30875f2 100644 --- a/sw/source/core/layout/frmtool.cxx +++ b/sw/source/core/layout/frmtool.cxx @@ -856,11 +856,10 @@ SwCntntNotify::~SwCntntNotify() SwFlyFrm *pFly = pCnt->FindFlyFrm(); svt::EmbeddedObjectRef& xObj = pNd->GetOLEObj().GetObject(); SwFEShell *pFESh = 0; - SwViewShell *pTmp = pSh; - do - { if ( pTmp->ISA( SwCrsrShell ) ) + for(SwViewShell& rCurrentShell : pSh->GetRingContainer()) + { if ( rCurrentShell.ISA( SwCrsrShell ) ) { - pFESh = static_cast<SwFEShell*>(pTmp); + pFESh = static_cast<SwFEShell*>(&rCurrentShell); // #108369#: Here used to be the condition if (!bFirst). // I think this should mean "do not call CalcAndSetScale" // if the frame is formatted for the first time. @@ -882,8 +881,7 @@ SwCntntNotify::~SwCntntNotify() &pFly->Prt(), &pFly->Frm(), bNoTxtFrmPrtAreaChanged ); } - pTmp = static_cast<SwViewShell*>(pTmp->GetNext()); - } while ( pTmp != pSh ); + } if ( pFESh && pNd->IsOLESizeInvalid() ) { commit 42981b6d8ada48ce9f7144f23f5aa5751cc02664 Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 17:54:59 2014 +0100 use C++11 iteration Change-Id: I88510a9a0569ce9241ea28ace9eaa5ce7700990b diff --git a/sw/source/core/layout/fly.cxx b/sw/source/core/layout/fly.cxx index a43f820..3a05a73 100644 --- a/sw/source/core/layout/fly.cxx +++ b/sw/source/core/layout/fly.cxx @@ -430,15 +430,12 @@ void SwFlyFrm::FinitDrawObj() SwViewShell *p1St = getRootFrm()->GetCurrShell(); if ( p1St ) { - SwViewShell *pSh = p1St; - do + for(SwViewShell& rCurrentShell : p1St->GetRingContainer()) { // At the moment the Drawing can do just do an Unmark on everything, // as the Object was already removed - if( pSh->HasDrawView() ) - pSh->Imp()->GetDrawView()->UnmarkAll(); - pSh = static_cast<SwViewShell*>(pSh->GetNext()); - - } while ( pSh != p1St ); + if( rCurrentShell.HasDrawView() ) + rCurrentShell.Imp()->GetDrawView()->UnmarkAll(); + } } } commit dd53ee608dd06ef4db95e36f6786a95df21517a0 Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 17:52:12 2014 +0100 use C++11 iteration Change-Id: Iff18fa8d3860437f9d9a14ba52d06b1aa4d38076 diff --git a/sw/source/core/graphic/ndgrf.cxx b/sw/source/core/graphic/ndgrf.cxx index 0989b78..6e60afa 100644 --- a/sw/source/core/graphic/ndgrf.cxx +++ b/sw/source/core/graphic/ndgrf.cxx @@ -1095,15 +1095,15 @@ bool SwGrfNode::IsSelected() const { const SwNode* pN = this; const SwViewShell* pV = pESh; - do { - if( pV->ISA( SwEditShell ) && pN == &static_cast<const SwCrsrShell*>(pV) + for(const SwViewShell& rCurrentShell : pESh->GetRingContainer()) + { + if( rCurrentShell.ISA( SwEditShell ) && pN == &static_cast<const SwCrsrShell*>(&rCurrentShell) ->GetCrsr()->GetPoint()->nNode.GetNode() ) { bRet = true; break; } } - while( pESh != ( pV = static_cast<SwViewShell*>(pV->GetNext()) )); } return bRet; } commit b9b8095cd11ffb4b7299f03ff03e543468fd5251 Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 17:49:12 2014 +0100 use C++11 iteration Change-Id: I8e667f97668b312c61587893cd75d9967a46ce2d diff --git a/sw/source/core/frmedt/fews.cxx b/sw/source/core/frmedt/fews.cxx index 8b0aa53..4fafe52 100644 --- a/sw/source/core/frmedt/fews.cxx +++ b/sw/source/core/frmedt/fews.cxx @@ -55,16 +55,16 @@ TYPEINIT1(SwFEShell,SwEditShell) void SwFEShell::EndAllActionAndCall() { - SwViewShell *pTmp = this; - do { - if( pTmp->IsA( TYPE(SwCrsrShell) ) ) + for(SwViewShell& rCurrentShell : GetRingContainer()) + { + if( rCurrentShell.IsA( TYPE(SwCrsrShell) ) ) { - static_cast<SwFEShell*>(pTmp)->EndAction(); - static_cast<SwFEShell*>(pTmp)->CallChgLnk(); + static_cast<SwFEShell*>(&rCurrentShell)->EndAction(); + static_cast<SwFEShell*>(&rCurrentShell)->CallChgLnk(); } else - pTmp->EndAction(); - } while( this != ( pTmp = static_cast<SwViewShell*>(pTmp->GetNext()) )); + rCurrentShell.EndAction(); + } } // Determine the Cntnt's nearest to the point commit ff9d42ae8e39e036952e5e0f92c1103d3c0f908c Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 17:46:49 2014 +0100 use C++11 iteration Change-Id: Ib7f4ebc935da3eeff9fa7fe6ae4fc8d1c9226843 diff --git a/sw/source/core/frmedt/fetab.cxx b/sw/source/core/frmedt/fetab.cxx index 9880be5..35ab823 100644 --- a/sw/source/core/frmedt/fetab.cxx +++ b/sw/source/core/frmedt/fetab.cxx @@ -106,12 +106,11 @@ void SwFEShell::ParkCursorInTab() SwPosition aStartPos = *pSwCrsr->GetPoint(), aEndPos = aStartPos; - SwCursor * pTmpCrsr = (SwCursor *) pSwCrsr; - /* Search least and greatest position in current cursor ring. */ - do + for(SwPaM& rTmpCrsr : pSwCrsr->GetRingContainer()) { + SwCursor* pTmpCrsr = static_cast<SwCursor *>(&rTmpCrsr); const SwPosition * pPt = pTmpCrsr->GetPoint(), * pMk = pTmpCrsr->GetMark(); @@ -127,9 +126,7 @@ void SwFEShell::ParkCursorInTab() if (*pMk > aEndPos) aEndPos = *pMk; - pTmpCrsr = static_cast<SwCursor *>( pTmpCrsr->GetNext() ); } - while (pTmpCrsr != pSwCrsr); KillPams(); commit a782a3f3292dfeec40c2bf8c463a8ab913d8e1d7 Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 17:43:17 2014 +0100 use C++11 iteration Change-Id: Idc13d5c04db1a3529a37c37147079814f5117d14 diff --git a/sw/source/core/frmedt/feshview.cxx b/sw/source/core/frmedt/feshview.cxx index 026e3af..fafe863 100644 --- a/sw/source/core/frmedt/feshview.cxx +++ b/sw/source/core/frmedt/feshview.cxx @@ -637,11 +637,8 @@ long SwFEShell::EndDrag( const Point *, bool ) SdrView *pView = Imp()->GetDrawView(); if ( pView->IsDragObj() ) { - // Setup Start-/EndActions only to the SwViewShell - SwViewShell *pSh = this; - do { - pSh->StartAction(); - } while ( this != (pSh = static_cast<SwViewShell*>(pSh->GetNext())) ); + for(SwViewShell& rSh : GetRingContainer()) + rSh.StartAction(); StartUndo( UNDO_START ); @@ -662,11 +659,12 @@ long SwFEShell::EndDrag( const Point *, bool ) EndUndo( UNDO_END ); - do { - pSh->EndAction(); - if( pSh->IsA( TYPE( SwCrsrShell ) ) ) - static_cast<SwCrsrShell*>(pSh)->CallChgLnk(); - } while ( this != (pSh = static_cast<SwViewShell*>(pSh->GetNext())) ); + for(SwViewShell& rSh : GetRingContainer()) + { + rSh.EndAction(); + if( rSh.IsA( TYPE( SwCrsrShell ) ) ) + static_cast<SwCrsrShell*>(&rSh)->CallChgLnk(); + } GetDoc()->getIDocumentState().SetModified(); ::FrameNotify( this, FLY_DRAG ); commit 8145c0bdfbab7295d78daea12236742a46eec192 Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 17:40:06 2014 +0100 unnecessary cast Change-Id: I3c7c04f8da9829e50e4bf82500d226710fd3b9c9 diff --git a/sw/source/core/frmedt/fecopy.cxx b/sw/source/core/frmedt/fecopy.cxx index 8825995..907bb9b 100644 --- a/sw/source/core/frmedt/fecopy.cxx +++ b/sw/source/core/frmedt/fecopy.cxx @@ -759,7 +759,7 @@ bool SwFEShell::Paste( SwDoc* pClpDoc, bool bIncludingPageFrames ) } else // as long as we find more insert positions in the cursor ring { // we'll take them - pCurrCrsr = static_cast<SwPaM*>(pCurrCrsr->GetNext()); + pCurrCrsr = pCurrCrsr->GetNext(); aInsertPos = *pCurrCrsr->GetPoint(); --nCursorCount; } commit 4e1d9ab9077d388cea56b9387a9a02c3e0c4946e Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 17:39:48 2014 +0100 unnecessary cast Change-Id: Iaf5f3dee59b2ee045a524059c4342465ce3b3a0c diff --git a/sw/source/core/frmedt/fecopy.cxx b/sw/source/core/frmedt/fecopy.cxx index 5093f65..8825995 100644 --- a/sw/source/core/frmedt/fecopy.cxx +++ b/sw/source/core/frmedt/fecopy.cxx @@ -724,7 +724,7 @@ bool SwFEShell::Paste( SwDoc* pClpDoc, bool bIncludingPageFrames ) // cursor of the ring points to identical document positions. Then // we should avoid double insertion of text portions... while( nCursorCount > 1 && *pCurrCrsr->GetPoint() == - *(static_cast<SwPaM*>(pCurrCrsr->GetPrev())->GetPoint()) ) + *(pCurrCrsr->GetPrev()->GetPoint()) ) { --nCursorCount; pCurrCrsr = pCurrCrsr->GetNext(); commit 2255627696236fa889d907a492055c77b382ba0a Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 17:39:24 2014 +0100 unnecessary cast Change-Id: Ic61d755bf5d67aae3eb1f4ffbf655216fec9c18b diff --git a/sw/source/core/frmedt/fecopy.cxx b/sw/source/core/frmedt/fecopy.cxx index c10c8d9..5093f65 100644 --- a/sw/source/core/frmedt/fecopy.cxx +++ b/sw/source/core/frmedt/fecopy.cxx @@ -727,7 +727,7 @@ bool SwFEShell::Paste( SwDoc* pClpDoc, bool bIncludingPageFrames ) *(static_cast<SwPaM*>(pCurrCrsr->GetPrev())->GetPoint()) ) { --nCursorCount; - pCurrCrsr = static_cast<SwPaM*>(pCurrCrsr->GetNext()); + pCurrCrsr = pCurrCrsr->GetNext(); pStartCursor = pCurrCrsr; } SwPosition aStartPos( *pStartCursor->GetPoint() ); commit da2c52538700a147673bfa46cc5c9bdc2dcf7d81 Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Thu Dec 4 00:46:12 2014 +0100 use C++11 iteration Change-Id: Ibf34d6653db6141dc365759a660208896b9bf553 diff --git a/sw/source/core/edit/edws.cxx b/sw/source/core/edit/edws.cxx index 009a9bb..3700e2c 100644 --- a/sw/source/core/edit/edws.cxx +++ b/sw/source/core/edit/edws.cxx @@ -95,14 +95,11 @@ void SwEditShell::CalcLayout() StartAllAction(); SwViewShell::CalcLayout(); - SwViewShell *pSh = this; - do + for(SwViewShell& rCurrentShell : GetRingContainer()) { - if ( pSh->GetWin() ) - pSh->GetWin()->Invalidate(); - pSh = static_cast<SwViewShell*>(pSh->GetNext()); - - } while ( pSh != this ); + if ( rCurrentShell.GetWin() ) + rCurrentShell.GetWin()->Invalidate(); + } EndAllAction(); } commit 2b98706f0ad97756549287195aef878f1758f9ea Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Thu Dec 4 00:45:16 2014 +0100 use C++11 iteration Change-Id: I1d5a4f21272f0b42f2f89ebab39d39e5c9e0a181 diff --git a/sw/source/core/edit/edws.cxx b/sw/source/core/edit/edws.cxx index 3a1f24f..009a9bb 100644 --- a/sw/source/core/edit/edws.cxx +++ b/sw/source/core/edit/edws.cxx @@ -81,14 +81,13 @@ void SwEditShell::StartAllAction() void SwEditShell::EndAllAction() { - SwViewShell *pSh = this; - do { - if( pSh->IsA( TYPE( SwEditShell ) ) ) - static_cast<SwEditShell*>(pSh)->EndAction(); + for(SwViewShell& rCurrentShell : GetRingContainer()) + { + if( rCurrentShell.IsA( TYPE( SwEditShell ) ) ) + static_cast<SwEditShell*>(&rCurrentShell)->EndAction(); else - pSh->EndAction(); - pSh = static_cast<SwViewShell *>(pSh->GetNext()); - } while(pSh != this); + rCurrentShell.EndAction(); + } } void SwEditShell::CalcLayout() commit cd187f9d3476d9b8be9069bd949952b37195c4f5 Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 17:34:35 2014 +0100 use C++11 iteration Change-Id: If84202b478a296654912ed9509591ac59f976c4e diff --git a/sw/source/core/edit/edws.cxx b/sw/source/core/edit/edws.cxx index 3816ab6..3a1f24f 100644 --- a/sw/source/core/edit/edws.cxx +++ b/sw/source/core/edit/edws.cxx @@ -70,14 +70,13 @@ void SwEditShell::SetUndoNoResetModified() void SwEditShell::StartAllAction() { - SwViewShell *pSh = this; - do { - if( pSh->IsA( TYPE( SwEditShell ) ) ) - static_cast<SwEditShell*>(pSh)->StartAction(); + for(SwViewShell& rCurrentShell : GetRingContainer()) + { + if( rCurrentShell.IsA( TYPE( SwEditShell ) ) ) + static_cast<SwEditShell*>(&rCurrentShell)->StartAction(); else - pSh->StartAction(); - pSh = static_cast<SwViewShell *>(pSh->GetNext()); - } while(pSh != this); + rCurrentShell.StartAction(); + } } void SwEditShell::EndAllAction() commit 8347b140c9533c95891b0e4ad158b6eb9d7f0e1d Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 17:32:21 2014 +0100 use C++11 iteration Change-Id: If660a785dba2fd6c2e53a9bc0b93042359f5eaa7 diff --git a/sw/source/core/edit/edredln.cxx b/sw/source/core/edit/edredln.cxx index f62eaa7..2948ad2 100644 --- a/sw/source/core/edit/edredln.cxx +++ b/sw/source/core/edit/edredln.cxx @@ -59,14 +59,11 @@ const SwRangeRedline& SwEditShell::GetRedline( sal_uInt16 nPos ) const static void lcl_InvalidateAll( SwViewShell* pSh ) { - SwViewShell *pStop = pSh; - do + for(SwViewShell& rCurrentShell : pSh->GetRingContainer()) { - if ( pSh->GetWin() ) - pSh->GetWin()->Invalidate(); - pSh = static_cast<SwViewShell*>(pSh->GetNext()); - - } while ( pSh != pStop ); + if ( rCurrentShell.GetWin() ) + rCurrentShell.GetWin()->Invalidate(); + } } bool SwEditShell::AcceptRedline( sal_uInt16 nPos ) commit 6fa11c72cca11062ddd63e095445e1ad2faee24b Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 17:29:53 2014 +0100 use C++11 iteration Change-Id: I35592172210b83cc7d24308c001dd73bdf30c01b diff --git a/sw/source/core/edit/ednumber.cxx b/sw/source/core/edit/ednumber.cxx index 7b8237b..e118362 100644 --- a/sw/source/core/edit/ednumber.cxx +++ b/sw/source/core/edit/ednumber.cxx @@ -697,14 +697,12 @@ const SwNumRule* SwEditShell::GetNumRuleAtCurrentSelection() const { const SwNumRule* pNumRuleAtCurrentSelection = NULL; - const SwPaM* pCurrentCrsr = GetCrsr(); bool bDifferentNumRuleFound = false; - const SwPaM* pCrsr = pCurrentCrsr; - do + for(const SwPaM& rCurrentCrsr : GetCrsr()->GetRingContainer()) { - const SwNodeIndex aEndNode = pCrsr->End()->nNode; + const SwNodeIndex aEndNode = rCurrentCrsr.End()->nNode; - for ( SwNodeIndex aNode = pCrsr->Start()->nNode; aNode <= aEndNode; aNode++ ) + for ( SwNodeIndex aNode = rCurrentCrsr.Start()->nNode; aNode <= aEndNode; aNode++ ) { const SwNumRule* pNumRule = GetDoc()->GetNumRuleAtPos( SwPosition( aNode ) ); if ( pNumRule == NULL ) @@ -725,9 +723,9 @@ const SwNumRule* SwEditShell::GetNumRuleAtCurrentSelection() const } } } - - pCrsr = static_cast< const SwPaM* >(pCrsr->GetNext()); - } while ( !bDifferentNumRuleFound && pCrsr != pCurrentCrsr ); + if(bDifferentNumRuleFound) + break; + } return pNumRuleAtCurrentSelection; } commit 369f01170266e60f1af42418297d48f36b5f7a1b Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 17:26:09 2014 +0100 use C++11 iteration Change-Id: Ib8245b8a4b653cca36e5782eaa53cd2a7d64d295 diff --git a/sw/source/core/edit/ednumber.cxx b/sw/source/core/edit/ednumber.cxx index 33c5e06..7b8237b 100644 --- a/sw/source/core/edit/ednumber.cxx +++ b/sw/source/core/edit/ednumber.cxx @@ -30,10 +30,8 @@ SwPamRanges::SwPamRanges( const SwPaM& rRing ) { - const SwPaM* pTmp = &rRing; - do { - Insert( pTmp->GetMark()->nNode, pTmp->GetPoint()->nNode ); - } while( &rRing != ( pTmp = static_cast<const SwPaM*>(pTmp->GetNext()) )); + for(const SwPaM& rTmp : rRing.GetRingContainer()) + Insert( rTmp.GetMark()->nNode, rTmp.GetPoint()->nNode ); } void SwPamRanges::Insert( const SwNodeIndex& rIdx1, const SwNodeIndex& rIdx2 ) commit 233299e3fc14bf17d6cd6277ae8264247d637d79 Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 17:22:44 2014 +0100 use C++11 iteration Change-Id: I24ccf954176f93f89f6e075907bd69cdf225458a diff --git a/sw/source/core/edit/editsh.cxx b/sw/source/core/edit/editsh.cxx index 9a86337..617a4e3 100644 --- a/sw/source/core/edit/editsh.cxx +++ b/sw/source/core/edit/editsh.cxx @@ -505,16 +505,15 @@ void SwEditShell::ReplaceDropTxt( const OUString &rStr, SwPaM* pPaM ) OUString SwEditShell::Calculate() { OUString aFormel; // the final formula - SwPaM *pPaMLast = static_cast<SwPaM*>(GetCrsr()->GetNext()), - *pPaM = pPaMLast; // cursor pointers SwCalc aCalc( *GetDoc() ); const CharClass& rCC = GetAppCharClass(); - do { - SwTxtNode* pTxtNd = pPaM->GetNode().GetTxtNode(); + for(SwPaM& rCurrentPaM : GetCrsr()->GetNext()->GetRingContainer()) + { + SwTxtNode* pTxtNd = rCurrentPaM.GetNode().GetTxtNode(); if(pTxtNd) { - const SwPosition *pStart = pPaM->Start(), *pEnd = pPaM->End(); + const SwPosition *pStart = rCurrentPaM.Start(), *pEnd = rCurrentPaM.End(); const sal_Int32 nStt = pStart->nContent.GetIndex(); OUString aStr = pTxtNd->GetExpandTxt( nStt, pEnd->nContent. GetIndex() - nStt ); @@ -561,7 +560,7 @@ OUString SwEditShell::Calculate() aFormel += OUString(ch); } } - } while( pPaMLast != (pPaM = static_cast<SwPaM*>(pPaM->GetNext())) ); + } return aCalc.GetStrResult( aCalc.Calculate(aFormel) ); } commit 24c1c91b181a506acbd16998c95aff0bc2239b20 Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 17:19:27 2014 +0100 use C++11 iteration Change-Id: I78423acfe10d7972e4aad5dc90cb517a2ba72400 diff --git a/sw/source/core/edit/editsh.cxx b/sw/source/core/edit/editsh.cxx index 2699984..9a86337 100644 --- a/sw/source/core/edit/editsh.cxx +++ b/sw/source/core/edit/editsh.cxx @@ -94,27 +94,27 @@ void SwEditShell::Insert2(const OUString &rStr, const bool bForceExpandHints ) IDocumentContentOperations::INS_EMPTYEXPAND) : IDocumentContentOperations::INS_EMPTYEXPAND; - SwPaM *_pStartCrsr = getShellCrsr( true ), *__pStartCrsr = _pStartCrsr; - do { + for(SwPaM& rCurrentCrsr : getShellCrsr( true )->GetRingContainer()) + { //OPT: GetSystemCharSet const bool bSuccess = - GetDoc()->getIDocumentContentOperations().InsertString(*_pStartCrsr, rStr, nInsertFlags); + GetDoc()->getIDocumentContentOperations().InsertString(rCurrentCrsr, rStr, nInsertFlags); OSL_ENSURE( bSuccess, "Doc->Insert() failed." ); if (bSuccess) { - GetDoc()->UpdateRsid( *_pStartCrsr, rStr.getLength() ); + GetDoc()->UpdateRsid( rCurrentCrsr, rStr.getLength() ); // Set paragraph rsid if beginning of paragraph SwTxtNode *const pTxtNode = - _pStartCrsr->GetPoint()->nNode.GetNode().GetTxtNode(); + rCurrentCrsr.GetPoint()->nNode.GetNode().GetTxtNode(); if( pTxtNode && pTxtNode->Len() == 1) GetDoc()->UpdateParRsid( pTxtNode ); } - SaveTblBoxCntnt( _pStartCrsr->GetPoint() ); + SaveTblBoxCntnt( rCurrentCrsr.GetPoint() ); - } while( (_pStartCrsr = static_cast<SwPaM *>(_pStartCrsr->GetNext() )) != __pStartCrsr ); + } } // calculate cursor bidi level commit 37132921c83265c2a46327a2de295f8e2cf84fd2 Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 17:15:13 2014 +0100 use C++11 iteration Change-Id: I94b45f984be471f77ed6b11367d08c7af1ac9bac diff --git a/sw/source/core/edit/eddel.cxx b/sw/source/core/edit/eddel.cxx index 3e4f06d..4a2a634 100644 --- a/sw/source/core/edit/eddel.cxx +++ b/sw/source/core/edit/eddel.cxx @@ -264,15 +264,15 @@ long SwEditShell::Copy( SwEditShell* pDestShell ) #if OSL_DEBUG_LEVEL > 0 // check if the indices are registered in the correct nodes { - SwPaM* pCmp = (SwPaM*)pDestShell->GetCrsr(); // store pointer to cursor - do { - OSL_ENSURE( pCmp->GetPoint()->nContent.GetIdxReg() - == pCmp->GetCntntNode(), "Point in wrong Node" ); - OSL_ENSURE( pCmp->GetMark()->nContent.GetIdxReg() - == pCmp->GetCntntNode(false), "Mark in wrong Node" ); - bool bTst = *pCmp->GetPoint() == *pCmp->GetMark(); + for(SwPaM& rCmp : pDestShell->GetCrsr()->GetRingContainer()) + { + OSL_ENSURE( rCmp.GetPoint()->nContent.GetIdxReg() + == rCmp.GetCntntNode(), "Point in wrong Node" ); + OSL_ENSURE( rCmp.GetMark()->nContent.GetIdxReg() + == rCmp.GetCntntNode(false), "Mark in wrong Node" ); + bool bTst = *rCmp.GetPoint() == *rCmp.GetMark(); (void) bTst; - } while( pDestShell->GetCrsr() != ( pCmp = static_cast<SwPaM*>(pCmp->GetNext()) ) ); + } } #endif commit d2043e583a5e42d3a55abde1bd658ece18c3aed9 Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 17:12:09 2014 +0100 use C++11 iteration Change-Id: I8a05445fe59c68b867a5ebf7291df0cfd07c0fb9 diff --git a/sw/source/core/edit/edattr.cxx b/sw/source/core/edit/edattr.cxx index 48f08c0..3d8a190 100644 --- a/sw/source/core/edit/edattr.cxx +++ b/sw/source/core/edit/edattr.cxx @@ -407,12 +407,12 @@ bool SwEditShell::SetCurFtn( const SwFmtFtn& rFillFtn ) bool bChgd = false; StartAllAction(); - SwPaM* pCrsr = GetCrsr(), *pFirst = pCrsr; - do { + for(SwPaM& rCrsr : GetCrsr()->GetRingContainer()) + { bChgd |= - mpDoc->SetCurFtn( *pCrsr, rFillFtn.GetNumStr(), rFillFtn.GetNumber(), rFillFtn.IsEndNote() ); + mpDoc->SetCurFtn( rCrsr, rFillFtn.GetNumStr(), rFillFtn.GetNumber(), rFillFtn.IsEndNote() ); - } while( pFirst != ( pCrsr = static_cast<SwPaM*>(pCrsr->GetNext()) )); + } EndAllAction(); return bChgd; commit 5b9b4eb0b143832bceed681ab653be94862289a2 Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 17:10:25 2014 +0100 use C++11 iteration Change-Id: I29172f321ebb040278cc4d59ed193973ec6e2af0 diff --git a/sw/source/core/edit/edattr.cxx b/sw/source/core/edit/edattr.cxx index 145c975..48f08c0 100644 --- a/sw/source/core/edit/edattr.cxx +++ b/sw/source/core/edit/edattr.cxx @@ -285,15 +285,14 @@ SwTxtFmtColl* SwEditShell::GetPaMTxtFmtColl( SwPaM* pPaM ) const std::vector<std::pair< const SfxPoolItem*, std::unique_ptr<SwPaM> >> SwEditShell::GetItemWithPaM( sal_uInt16 nWhich ) { std::vector<std::pair< const SfxPoolItem*, std::unique_ptr<SwPaM> >> vItem; - SwPaM* pPaM = GetCrsr(); - SwPaM* pStartPaM = pPaM; - do { // for all the point and mark (selections) + for(SwPaM& rCurrentPaM : GetCrsr()->GetRingContainer()) + { // for all the point and mark (selections) // get the start and the end node of the current selection - sal_uLong nSttNd = pPaM->Start()->nNode.GetIndex(), - nEndNd = pPaM->End()->nNode.GetIndex(); - sal_Int32 nSttCnt = pPaM->Start()->nContent.GetIndex(); - sal_Int32 nEndCnt = pPaM->End()->nContent.GetIndex(); + sal_uLong nSttNd = rCurrentPaM.Start()->nNode.GetIndex(), + nEndNd = rCurrentPaM.End()->nNode.GetIndex(); + sal_Int32 nSttCnt = rCurrentPaM.Start()->nContent.GetIndex(); + sal_Int32 nEndCnt = rCurrentPaM.End()->nContent.GetIndex(); SwPaM* pNewPaM = 0; const SfxPoolItem* pItem = 0; @@ -379,7 +378,7 @@ std::vector<std::pair< const SfxPoolItem*, std::unique_ptr<SwPaM> >> SwEditShell } } } - } while ( ( pPaM = static_cast<SwPaM*>(pPaM->GetNext()) ) != pStartPaM ); + } return vItem; } commit c2276599680c6916f85be6e6a9a859720ec14c6d Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 17:07:09 2014 +0100 use C++11 iteration Change-Id: I0a220d6cec1f50e3bfb5ae3c4eb7fd43836236f8 diff --git a/sw/source/core/edit/edattr.cxx b/sw/source/core/edit/edattr.cxx index 3413731..145c975 100644 --- a/sw/source/core/edit/edattr.cxx +++ b/sw/source/core/edit/edattr.cxx @@ -243,12 +243,12 @@ SwTxtFmtColl* SwEditShell::GetPaMTxtFmtColl( SwPaM* pPaM ) const // number of nodes the function have explored so far sal_uInt16 numberOfLookup = 0; - SwPaM* pStartPaM = pPaM; - do { // for all the point and mark (selections) + for(SwPaM& rCurrentPaM : pPaM->GetRingContainer()) + { // for all the point and mark (selections) // get the start and the end node of the current selection - sal_uLong nSttNd = pPaM->GetMark()->nNode.GetIndex(), - nEndNd = pPaM->GetPoint()->nNode.GetIndex(); + sal_uLong nSttNd = rCurrentPaM.GetMark()->nNode.GetIndex(), + nEndNd = rCurrentPaM.GetPoint()->nNode.GetIndex(); // reverse start and end if they aren't sorted correctly if( nSttNd > nEndNd ) @@ -276,7 +276,7 @@ SwTxtFmtColl* SwEditShell::GetPaMTxtFmtColl( SwPaM* pPaM ) const return pFmt; } } - } while ( ( pPaM = static_cast<SwPaM*>(pPaM->GetNext()) ) != pStartPaM ); + } // if none of the selected node contain a named paragraph format return NULL; commit b4f8a3dd1030151e593ba8988c1e5648b6bbdab9 Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 17:05:29 2014 +0100 use C++11 iteration Change-Id: Ib8ab87e5581cd4026c5571becc58c9b7c07cbdbe diff --git a/sw/source/core/edit/edattr.cxx b/sw/source/core/edit/edattr.cxx index 7cc5a30..3413731 100644 --- a/sw/source/core/edit/edattr.cxx +++ b/sw/source/core/edit/edattr.cxx @@ -189,12 +189,12 @@ bool SwEditShell::GetPaMParAttr( SwPaM* pPaM, SfxItemSet& rSet ) const SfxItemSet aSet( *rSet.GetPool(), rSet.GetRanges() ); SfxItemSet* pSet = &rSet; - SwPaM* pStartPaM = pPaM; - do { // for all the point and mark (selections) + for(SwPaM& rCurrentPaM : pPaM->GetRingContainer()) + { // for all the point and mark (selections) // get the start and the end node of the current selection - sal_uLong nSttNd = pPaM->GetMark()->nNode.GetIndex(), - nEndNd = pPaM->GetPoint()->nNode.GetIndex(); + sal_uLong nSttNd = rCurrentPaM.GetMark()->nNode.GetIndex(), + nEndNd = rCurrentPaM.GetPoint()->nNode.GetIndex(); // reverse start and end if there number aren't sorted correctly if( nSttNd > nEndNd ) @@ -228,7 +228,7 @@ bool SwEditShell::GetPaMParAttr( SwPaM* pPaM, SfxItemSet& rSet ) const if (numberOfLookup >= getMaxLookup()) return false; } - } while ( ( pPaM = static_cast<SwPaM*>(pPaM->GetNext()) ) != pStartPaM ); + } return true; } commit ecb4e05fb2019bc9c8ea0db40313dbe25d8ec707 Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 17:03:45 2014 +0100 use C++11 iteration Change-Id: I83bed43706cc1dcc17f1b1f37404340ee13afaa4 diff --git a/sw/source/core/edit/edattr.cxx b/sw/source/core/edit/edattr.cxx index bc4651b..7cc5a30 100644 --- a/sw/source/core/edit/edattr.cxx +++ b/sw/source/core/edit/edattr.cxx @@ -73,13 +73,13 @@ bool SwEditShell::GetPaMAttr( SwPaM* pPaM, SfxItemSet& rSet, SfxItemSet aSet( *rSet.GetPool(), rSet.GetRanges() ); SfxItemSet *pSet = &rSet; - SwPaM* pStartPaM = pPaM; - do { + for(SwPaM& rCurrentPaM : pPaM->GetRingContainer()) + { // #i27615# if the cursor is in front of the numbering label // the attributes to get are those from the numbering format. - if (pPaM->IsInFrontOfLabel()) + if (rCurrentPaM.IsInFrontOfLabel()) { - SwTxtNode * pTxtNd = pPaM->GetPoint()->nNode.GetNode().GetTxtNode(); + SwTxtNode * pTxtNd = rCurrentPaM.GetPoint()->nNode.GetNode().GetTxtNode(); if (pTxtNd) { @@ -108,10 +108,10 @@ bool SwEditShell::GetPaMAttr( SwPaM* pPaM, SfxItemSet& rSet, continue; } - sal_uLong nSttNd = pPaM->GetMark()->nNode.GetIndex(), - nEndNd = pPaM->GetPoint()->nNode.GetIndex(); - sal_Int32 nSttCnt = pPaM->GetMark()->nContent.GetIndex(); - sal_Int32 nEndCnt = pPaM->GetPoint()->nContent.GetIndex(); + sal_uLong nSttNd = rCurrentPaM.GetMark()->nNode.GetIndex(), + nEndNd = rCurrentPaM.GetPoint()->nNode.GetIndex(); + sal_Int32 nSttCnt = rCurrentPaM.GetMark()->nContent.GetIndex(); + sal_Int32 nEndCnt = rCurrentPaM.GetPoint()->nContent.GetIndex(); if( nSttNd > nEndNd || ( nSttNd == nEndNd && nSttCnt > nEndCnt )) { @@ -165,7 +165,7 @@ bool SwEditShell::GetPaMAttr( SwPaM* pPaM, SfxItemSet& rSet, pSet = &aSet; } - } while ( ( pPaM = static_cast<SwPaM*>(pPaM->GetNext()) ) != pStartPaM ); + } return true; } commit dae21218d26570e09d0ccf097ccb38d5308e2ae2 Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 17:01:22 2014 +0100 use C++11 iteration Change-Id: Idfa3fa4c2279137075acff9c12f26ebcaeb59ec0 diff --git a/sw/source/core/edit/edatmisc.cxx b/sw/source/core/edit/edatmisc.cxx index 868818b..56a1a33 100644 --- a/sw/source/core/edit/edatmisc.cxx +++ b/sw/source/core/edit/edatmisc.cxx @@ -41,10 +41,8 @@ void SwEditShell::ResetAttr( const std::set<sal_uInt16> &attrs, SwPaM* pPaM ) GetDoc()->GetIDocumentUndoRedo().StartUndo(UNDO_RESETATTR, NULL); } - SwPaM* pStartCrsr = pCrsr; - do { - GetDoc()->ResetAttrs(*pCrsr, true, attrs); - } while ( ( pCrsr = static_cast< SwPaM* >( pCrsr->GetNext() ) ) != pStartCrsr ); + for(SwPaM& rCurCrsr : pCrsr->GetRingContainer()) + GetDoc()->ResetAttrs(rCurCrsr, true, attrs); if( bUndoGroup ) { commit c07f3fbc961b4e5cd6619a64b706bb361f8bbe70 Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 16:58:56 2014 +0100 use C++11 iteration Change-Id: Iec8b1f86e4fb243127fcf12bd258465bd8a5b4fe diff --git a/sw/source/core/edit/edatmisc.cxx b/sw/source/core/edit/edatmisc.cxx index 8f16eaf..868818b 100644 --- a/sw/source/core/edit/edatmisc.cxx +++ b/sw/source/core/edit/edatmisc.cxx @@ -136,15 +136,14 @@ void SwEditShell::SetAttrSet( const SfxItemSet& rSet, sal_uInt16 nFlags, SwPaM* bool bIsTblMode = IsTableMode(); GetDoc()->GetIDocumentUndoRedo().StartUndo(UNDO_INSATTR, NULL); - SwPaM* pTmpCrsr = pCrsr; - SwPaM* pStartPaM = pCrsr; - do { - if( pTmpCrsr->HasMark() && ( bIsTblMode || - *pTmpCrsr->GetPoint() != *pTmpCrsr->GetMark() )) + for(SwPaM& rTmpCrsr : pCrsr->GetRingContainer()) + { + if( rTmpCrsr.HasMark() && ( bIsTblMode || + *rTmpCrsr.GetPoint() != *rTmpCrsr.GetMark() )) { - GetDoc()->getIDocumentContentOperations().InsertItemSet(*pTmpCrsr, rSet, nFlags ); + GetDoc()->getIDocumentContentOperations().InsertItemSet(rTmpCrsr, rSet, nFlags ); } - } while ( ( pTmpCrsr = static_cast<SwPaM*>(pTmpCrsr->GetNext()) ) != pStartPaM ); + } GetDoc()->GetIDocumentUndoRedo().EndUndo(UNDO_INSATTR, NULL); } commit 21bfc10b234991c51009e6b020eaa47de9dd2bff Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 16:55:15 2014 +0100 unnecessary cast Change-Id: I7a5d7bd2685297c9ce29dfe6d421c679dec0294d diff --git a/sw/source/core/edit/autofmt.cxx b/sw/source/core/edit/autofmt.cxx index 132501f..4326f71 100644 --- a/sw/source/core/edit/autofmt.cxx +++ b/sw/source/core/edit/autofmt.cxx @@ -1196,7 +1196,7 @@ void SwAutoFormat::DelMoreLinesBlanks( bool bWithLineBreaks ) SwPaM* pNxt; do { - pNxt = static_cast<SwPaM*>(m_aDelPam.GetNext()); + pNxt = m_aDelPam.GetNext(); if( pNxt->HasMark() && *pNxt->GetPoint() != *pNxt->GetMark() ) { bool bHasBlnks = HasSelBlanks( *pNxt ); commit ada94e72afeb2371e476177cb0936722fbb5db73 Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 16:53:44 2014 +0100 unnecessary cast Change-Id: Ib00a00332c1a8841106243a57f555b543037b0de diff --git a/sw/source/core/draw/dpage.cxx b/sw/source/core/draw/dpage.cxx index 1793c19..048394c 100644 --- a/sw/source/core/draw/dpage.cxx +++ b/sw/source/core/draw/dpage.cxx @@ -86,7 +86,7 @@ const SdrPageGridFrameList* SwDPage::GetGridFrameList( { SwViewShell *pSh = static_cast< SwDrawModel* >(GetModel())->GetDoc().getIDocumentLayoutAccess().GetCurrentViewShell(); while (pSh && pSh->Imp()->GetPageView() != pPV) - pSh = static_cast<SwViewShell*>(pSh->GetNext()); + pSh = pSh->GetNext(); if (pSh) { if ( pGridLst ) commit 4fbe3e79c4111355809ab9881caf62c3af4f2eb4 Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 16:52:04 2014 +0100 unnecessary cast Change-Id: I160bfc482a9f7bcdea1e3104e6172f142db6d9d6 diff --git a/sw/source/core/draw/dcontact.cxx b/sw/source/core/draw/dcontact.cxx index 3dd8e3b..7d93642 100644 --- a/sw/source/core/draw/dcontact.cxx +++ b/sw/source/core/draw/dcontact.cxx @@ -1058,7 +1058,7 @@ void SwDrawContact::Changed( const SdrObject& rObj, } //Put on Action, but not if presently anywhere an action runs. - SwViewShell *pSh = 0, *pOrg; + SwViewShell *pSh = nullptr, *pOrg; SwRootFrm *pTmpRoot = pDoc->getIDocumentLayoutAccess().GetCurrentLayout(); if ( pTmpRoot && pTmpRoot->IsCallbackActionEnabled() ) { @@ -1067,9 +1067,9 @@ void SwDrawContact::Changed( const SdrObject& rObj, if ( pSh ) do { if ( pSh->Imp()->IsAction() || pSh->Imp()->IsIdleAction() ) - pSh = 0; + pSh = nullptr; else - pSh = static_cast<SwViewShell*>(pSh->GetNext()); + pSh = pSh->GetNext(); } while ( pSh && pSh != pOrg ); commit fef168c1a86d4da5f34c7fb9be5c40748c01b5e4 Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 16:49:44 2014 +0100 unnecessary cast Change-Id: I4cfd4875262b8c2efeede0475f7be1b5a878ecf8 diff --git a/sw/source/core/doc/doccomp.cxx b/sw/source/core/doc/doccomp.cxx index 16018c1..8b8a223 100644 --- a/sw/source/core/doc/doccomp.cxx +++ b/sw/source/core/doc/doccomp.cxx @@ -2065,7 +2065,7 @@ long SwDoc::MergeDoc( const SwDoc& rDoc ) do { nRet += pTmp->InsertRedline(); - } while( pRing != ( pTmp = static_cast<_SaveMergeRedlines*>(pTmp->GetNext()) )); + } while( pRing != ( pTmp = pTmp->GetNext()) ); while( pRing != pRing->GetNext() ) delete pRing->GetNext(); commit 3eea18a04536e6e4b02b14ae3408172703b6cfa6 Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 16:49:18 2014 +0100 unnecessary cast Change-Id: I5877b60addaf12ddb0242e4b6716c14bc8beda3a diff --git a/sw/source/core/doc/doccomp.cxx b/sw/source/core/doc/doccomp.cxx index 0517fe7..16018c1 100644 --- a/sw/source/core/doc/doccomp.cxx +++ b/sw/source/core/doc/doccomp.cxx @@ -1756,7 +1756,7 @@ void SwCompareData::SetRedlinesToDoc( bool bUseDocInfo ) SwUndo *const pUndo(new SwUndoCompDoc( *pTmp, true )); rDoc.GetIDocumentUndoRedo().AppendUndo(pUndo); } - } while( pInsRing != ( pTmp = static_cast<SwPaM*>(pTmp->GetNext()) )); + } while( pInsRing != ( pTmp = pTmp->GetNext()) ); } } commit 8136a1fd9e04bb86ad9a851acbc810fa8e080f03 Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 16:48:55 2014 +0100 unnecessary cast Change-Id: Idc6c92fab2e0baddde535a8a2a4b6e208b9c0d64 diff --git a/sw/source/core/doc/doccomp.cxx b/sw/source/core/doc/doccomp.cxx index a8e280a..0517fe7 100644 --- a/sw/source/core/doc/doccomp.cxx +++ b/sw/source/core/doc/doccomp.cxx @@ -1745,7 +1745,7 @@ void SwCompareData::SetRedlinesToDoc( bool bUseDocInfo ) } } else - pTmp = static_cast<SwPaM*>(pTmp->GetNext()); + pTmp = pTmp->GetNext(); } while( pInsRing != pTmp ); } commit 697cb1f5e1adaddfd7d45486996f54fb969b95cc Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 16:48:37 2014 +0100 unnecessary cast Change-Id: I7b8bbf5e2577fc5f3a0a40552a0f2f410bd55a6a diff --git a/sw/source/core/doc/doccomp.cxx b/sw/source/core/doc/doccomp.cxx index a908a2f..a8e280a 100644 --- a/sw/source/core/doc/doccomp.cxx +++ b/sw/source/core/doc/doccomp.cxx @@ -1740,7 +1740,7 @@ void SwCompareData::SetRedlinesToDoc( bool bUseDocInfo ) else { // are consecutive, so combine - rSttEnd = *static_cast<SwPaM*>(pTmp->GetNext())->End(); + rSttEnd = *(pTmp->GetNext())->End(); delete pTmp->GetNext(); } } commit 08bc3e1fa36e3b4c88033594fb48a788618d37b4 Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 16:48:20 2014 +0100 unnecessary cast Change-Id: Ic3d612274809891c3e135d4f05d7d3bdab65b3fb diff --git a/sw/source/core/doc/doccomp.cxx b/sw/source/core/doc/doccomp.cxx index 54fb379..a908a2f 100644 --- a/sw/source/core/doc/doccomp.cxx +++ b/sw/source/core/doc/doccomp.cxx @@ -1723,7 +1723,7 @@ void SwCompareData::SetRedlinesToDoc( bool bUseDocInfo ) const SwCntntNode* pCNd; do { SwPosition& rSttEnd = *pTmp->End(), - & rEndStt = *static_cast<SwPaM*>(pTmp->GetNext())->Start(); + & rEndStt = *(pTmp->GetNext())->Start(); if( rSttEnd == rEndStt || (!rEndStt.nContent.GetIndex() && rEndStt.nNode.GetIndex() - 1 == rSttEnd.nNode.GetIndex() && commit 8748be61ee16c699d3ff78de79efc4996c9daa84 Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 16:47:47 2014 +0100 unnecessary cast Change-Id: I042407e9a34c0158ed46d4483f0eb5e62fe461bc diff --git a/sw/source/core/doc/doccomp.cxx b/sw/source/core/doc/doccomp.cxx index d0fbf34..54fb379 100644 --- a/sw/source/core/doc/doccomp.cxx +++ b/sw/source/core/doc/doccomp.cxx @@ -1713,7 +1713,7 @@ void SwCompareData::SetRedlinesToDoc( bool bUseDocInfo ) pTmp->GetPoint()->nContent.Assign( pContentNode, (pContentNode) ? pContentNode->Len() : 0 ); } - } while( pInsRing != ( pTmp = static_cast<SwPaM*>(pTmp->GetNext()) )); + } while( pInsRing != ( pTmp = pTmp->GetNext()) ); SwRedlineData aRedlnData( nsRedlineType_t::REDLINE_INSERT, nAuthor, aTimeStamp, OUString(), 0, 0 ); commit eedf2d6b7c18d0b8fec010624c3a55b9926041f0 Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 16:47:23 2014 +0100 unnecessary cast Change-Id: I78ca4f79e9d044349e117401357ec22538c43c33 diff --git a/sw/source/core/doc/doccomp.cxx b/sw/source/core/doc/doccomp.cxx index 729323b..d0fbf34 100644 --- a/sw/source/core/doc/doccomp.cxx +++ b/sw/source/core/doc/doccomp.cxx @@ -1691,7 +1691,7 @@ void SwCompareData::SetRedlinesToDoc( bool bUseDocInfo ) } rDoc.getIDocumentRedlineAccess().AppendRedline( new SwRangeRedline( aRedlnData, *pTmp ), true ); - } while( pDelRing != ( pTmp = static_cast<SwPaM*>(pTmp->GetNext()) )); + } while( pDelRing != ( pTmp = pTmp->GetNext()) ); } pTmp = pInsRing; commit 32a39571c83be6181499fe008190b9a8ba8558fc Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 16:46:37 2014 +0100 use C++11 iteration Change-Id: I887b402cfd0d4556e0e0b4fd45ec6fe061c84e06 diff --git a/sw/source/core/doc/CntntIdxStore.cxx b/sw/source/core/doc/CntntIdxStore.cxx index 7cf0b66..353f6f7 100644 --- a/sw/source/core/doc/CntntIdxStore.cxx +++ b/sw/source/core/doc/CntntIdxStore.cxx @@ -408,22 +408,22 @@ void CntntIdxStoreImpl::SaveShellCrsrs(SwDoc* pDoc, sal_uLong nNode, sal_Int32 n SwCrsrShell* pShell = pDoc->GetEditShell(); if( !pShell ) return; - SwViewShell *_pStartShell = pShell; - do { - if( _pStartShell->IsA( TYPE( SwCrsrShell )) ) + for(SwViewShell& rCurShell : pShell->GetRingContainer()) + { + if( rCurShell.IsA( TYPE( SwCrsrShell )) ) { - SwPaM *_pStkCrsr = static_cast<SwCrsrShell*>(_pStartShell)->GetStkCrsr(); + SwPaM *_pStkCrsr = static_cast<SwCrsrShell*>(&rCurShell)->GetStkCrsr(); if( _pStkCrsr ) do { lcl_ChkPaMBoth( m_aShellCrsrEntries, nNode, nCntnt, *_pStkCrsr); } while ( (_pStkCrsr != 0 ) && - ((_pStkCrsr = _pStkCrsr->GetNext()) != static_cast<SwCrsrShell*>(_pStartShell)->GetStkCrsr()) ); + ((_pStkCrsr = _pStkCrsr->GetNext()) != static_cast<SwCrsrShell*>(&rCurShell)->GetStkCrsr()) ); - FOREACHPAM_START( static_cast<SwCrsrShell*>(_pStartShell)->_GetCrsr() ) + FOREACHPAM_START( static_cast<SwCrsrShell*>(&rCurShell)->_GetCrsr() ) lcl_ChkPaMBoth( m_aShellCrsrEntries, nNode, nCntnt, *PCURCRSR); FOREACHPAM_END() } - } while((_pStartShell = static_cast<SwViewShell*>(_pStartShell->GetNext()))!= pShell ); + } } void CntntIdxStoreImpl::RestoreShellCrsrs(updater_t& rUpdater) commit 7299e98ca06615c3035ee02c464f4b2ec2934b48 Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 16:42:19 2014 +0100 unnecessary cast Change-Id: I9b77a5af763977836058f6bd435a5bdb78fdf522 diff --git a/sw/source/core/doc/CntntIdxStore.cxx b/sw/source/core/doc/CntntIdxStore.cxx index 35f4829..7cf0b66 100644 --- a/sw/source/core/doc/CntntIdxStore.cxx +++ b/sw/source/core/doc/CntntIdxStore.cxx @@ -417,7 +417,7 @@ void CntntIdxStoreImpl::SaveShellCrsrs(SwDoc* pDoc, sal_uLong nNode, sal_Int32 n do { lcl_ChkPaMBoth( m_aShellCrsrEntries, nNode, nCntnt, *_pStkCrsr); } while ( (_pStkCrsr != 0 ) && - ((_pStkCrsr = static_cast<SwPaM *>(_pStkCrsr->GetNext())) != static_cast<SwCrsrShell*>(_pStartShell)->GetStkCrsr()) ); + ((_pStkCrsr = _pStkCrsr->GetNext()) != static_cast<SwCrsrShell*>(_pStartShell)->GetStkCrsr()) ); FOREACHPAM_START( static_cast<SwCrsrShell*>(_pStartShell)->_GetCrsr() ) lcl_ChkPaMBoth( m_aShellCrsrEntries, nNode, nCntnt, *PCURCRSR); commit d1c6e5fccda936387242663aa041156c541df928 Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 16:38:47 2014 +0100 unnecessary cast Change-Id: Ic5a6dfb58ea2545c8474bff8841c650b3eb2c93f diff --git a/sw/source/core/crsr/viscrs.cxx b/sw/source/core/crsr/viscrs.cxx index a565420..4bb9588 100644 --- a/sw/source/core/crsr/viscrs.cxx +++ b/sw/source/core/crsr/viscrs.cxx @@ -611,7 +611,7 @@ short SwShellCrsr::MaxReplaceArived() { for( nActCnt = aArr[n]; nActCnt--; ) pSh->StartAction(); - pSh = static_cast<SwViewShell*>(pSh->GetNext()); + pSh = pSh->GetNext(); } } else commit ff517661da8ed0e33a674fa05aeb25ade6cd1bd8 Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 16:38:07 2014 +0100 unnecessary cast Change-Id: I8e4f11fe8d6ed444e3f863a15745145e2ca359e1 diff --git a/sw/source/core/crsr/viscrs.cxx b/sw/source/core/crsr/viscrs.cxx index a7d3110..a565420 100644 --- a/sw/source/core/crsr/viscrs.cxx +++ b/sw/source/core/crsr/viscrs.cxx @@ -600,7 +600,7 @@ short SwShellCrsr::MaxReplaceArived() for( nActCnt = 0; pSh->ActionPend(); ++nActCnt ) pSh->EndAction(); aArr.push_back( nActCnt ); - } while( pShell != ( pSh = static_cast<SwViewShell*>(pSh->GetNext()) ) ); + } while( pShell != ( pSh = pSh->GetNext()) ); { nRet = MessageDialog(pDlg, "AskSearchDialog", commit 8b6a3c3b02c7e1b38d3f8e99e4bb9b6a9d7adfb8 Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 16:36:52 2014 +0100 add note about fishy dynamic_cast Change-Id: Icabb2c9574083db73b8d0a40095fa18f84d7d6ab diff --git a/sw/source/core/crsr/viscrs.cxx b/sw/source/core/crsr/viscrs.cxx index 8c1b5d1..a7d3110 100644 --- a/sw/source/core/crsr/viscrs.cxx +++ b/sw/source/core/crsr/viscrs.cxx @@ -571,6 +571,8 @@ void SwShellCrsr::Invalidate( const SwRect& rRect ) void SwShellCrsr::Hide() { SwShellCrsr * pTmp = this; + // TODO: this doesnt look sane: if the dynamic_cast ever returns a nullptr, + // the next pTmp->GetNext() call is a nullptr deref do { if (pTmp) pTmp->SwSelPaintRects::Hide(); commit e6678eba1c3d768d4cc468721ee865814d13cb4f Author: Bjoern Michaelsen <bjoern.michael...@canonical.com> Date: Wed Dec 3 16:32:24 2014 +0100 use C++11 iteration Change-Id: I780df3b23e6ee9ad61dcd57472d0efb37d640d15 diff --git a/sw/source/core/crsr/trvltbl.cxx b/sw/source/core/crsr/trvltbl.cxx index aa4a78d..2eabdde 100644 --- a/sw/source/core/crsr/trvltbl.cxx +++ b/sw/source/core/crsr/trvltbl.cxx @@ -882,13 +882,13 @@ void SwCrsrShell::ClearTblBoxCntnt() bool SwCrsrShell::EndAllTblBoxEdit() { bool bRet = false; - SwViewShell *pSh = this; - do { - if( pSh->IsA( TYPE( SwCrsrShell ) ) ) - bRet |= static_cast<SwCrsrShell*>(pSh)->CheckTblBoxCntnt( - static_cast<SwCrsrShell*>(pSh)->m_pCurCrsr->GetPoint() ); + for(SwViewShell& rSh : GetRingContainer()) + { + if( rSh.IsA( TYPE( SwCrsrShell ) ) ) ... etc. - the rest is truncated _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits