[Libreoffice-commits] core.git: 10 commits - sw/inc sw/source
Bjoern Michaelsen
bjoern.michaelsen at canonical.com
Thu Dec 4 08:48:49 PST 2014
sw/inc/ring.hxx | 9 +++++++-
sw/source/core/crsr/crsrsh.cxx | 9 ++++----
sw/source/core/crsr/viscrs.cxx | 7 +-----
sw/source/core/doc/DocumentDrawModelManager.cxx | 22 ++++++++------------
sw/source/core/doc/DocumentTimerManager.cxx | 19 ++++++++---------
sw/source/core/doc/doccorr.cxx | 15 ++++++-------
sw/source/core/doc/doclay.cxx | 26 +++++++++++-------------
7 files changed, 52 insertions(+), 55 deletions(-)
New commits:
commit 66b6611aae5dbfb68a958958a35e75725c8c1d9d
Author: Bjoern Michaelsen <bjoern.michaelsen at canonical.com>
Date: Thu Dec 4 17:39:10 2014 +0100
cid#1256668: uninit ptr field
Change-Id: I14f3bd9e3abd9562f47f21319da511df475b7fdd
diff --git a/sw/inc/ring.hxx b/sw/inc/ring.hxx
index 7c898a0..5d5494e 100644
--- a/sw/inc/ring.hxx
+++ b/sw/inc/ring.hxx
@@ -109,6 +109,7 @@ namespace sw
template <class T>
inline Ring<T>::Ring( T* pObj )
+ : pPrev(static_cast< T* >(this))
{
T* pThis = static_cast< T* >(this);
if( !pObj )
commit 1b53effc6e1b305aed4f7ea59db13ffac55fe28c
Author: Bjoern Michaelsen <bjoern.michaelsen at canonical.com>
Date: Thu Dec 4 17:38:50 2014 +0100
cid#1256669: uninit ptr field
Change-Id: I6e3c5ac5281052b49c734b152ad4cd83021c6de9
diff --git a/sw/inc/ring.hxx b/sw/inc/ring.hxx
index bca6dba..7c898a0 100644
--- a/sw/inc/ring.hxx
+++ b/sw/inc/ring.hxx
@@ -80,6 +80,7 @@ namespace sw
* are alone in one.
*/
Ring()
+ : pPrev(static_cast< T* >(this))
{ algo::init_header(static_cast< T* >(this)); }
/**
* Creates a new item and add it to an existing ring container.
commit 917d505bff114f6431368c61565720ba41b1d067
Author: Bjoern Michaelsen <bjoern.michaelsen at canonical.com>
Date: Thu Dec 4 17:03:55 2014 +0100
cid#1256663: only allow comparing iterators from the same ring
Change-Id: I77eb186f0048a9bc335408bace96111e6cb2ca53
diff --git a/sw/inc/ring.hxx b/sw/inc/ring.hxx
index 8796dd0..bca6dba 100644
--- a/sw/inc/ring.hxx
+++ b/sw/inc/ring.hxx
@@ -188,7 +188,12 @@ namespace sw
void increment()
{ m_pCurrent = m_pCurrent ? m_pCurrent->GetNext() : m_pStart->GetNext(); }
bool equal(RingIterator const& other) const
- { return m_pCurrent == other.m_pCurrent && m_pStart == other.m_pStart; }
+ {
+ // we never want to compare iterators from
+ // different rings or starting points
+ assert(m_pStart == other.m_pStart);
+ return m_pCurrent == other.m_pCurrent;
+ }
T& dereference() const
{ return m_pCurrent ? *m_pCurrent : * m_pStart; }
/**
commit f5a42cf7afa2d5a1899f1c0d7c7093820703fba4
Author: Bjoern Michaelsen <bjoern.michaelsen at canonical.com>
Date: Thu Dec 4 15:53:03 2014 +0100
use C++11 iteration
Change-Id: Icc47b1ead273ee02e85c35cb7ab0e06b48cc42c2
diff --git a/sw/source/core/doc/DocumentTimerManager.cxx b/sw/source/core/doc/DocumentTimerManager.cxx
index 0c8bff2..0e90c8c 100644
--- a/sw/source/core/doc/DocumentTimerManager.cxx
+++ b/sw/source/core/doc/DocumentTimerManager.cxx
@@ -89,20 +89,19 @@ IMPL_LINK( DocumentTimerManager, DoIdleJobs, Timer *, pTimer )
if( pTmpRoot &&
!SfxProgress::GetActiveProgress( m_rDoc.GetDocShell() ) )
{
- SwViewShell *pSh, *pStartSh;
- pSh = pStartSh = m_rDoc.getIDocumentLayoutAccess().GetCurrentViewShell();
- do {
- if( pSh->ActionPend() )
+ SwViewShell* pShell(m_rDoc.getIDocumentLayoutAccess().GetCurrentViewShell());
+ for(SwViewShell& rSh : pShell->GetRingContainer())
+ {
+ if( rSh.ActionPend() )
{
pTimer->Start();
return 0;
}
- pSh = static_cast<SwViewShell*>(pSh->GetNext());
- } while( pSh != pStartSh );
+ }
if( pTmpRoot->IsNeedGrammarCheck() )
{
- bool bIsOnlineSpell = pSh->GetViewOptions()->IsOnlineSpell();
+ bool bIsOnlineSpell = pShell->GetViewOptions()->IsOnlineSpell();
bool bIsAutoGrammar = false;
SvtLinguConfig().GetProperty( OUString(
UPN_IS_GRAMMAR_AUTO ) ) >>= bIsAutoGrammar;
@@ -145,8 +144,8 @@ IMPL_LINK( DocumentTimerManager, DoIdleJobs, Timer *, pTimer )
pTmpRoot->StartAllAction();
// no jump on update of fields #i85168#
- const bool bOldLockView = pStartSh->IsViewLocked();
- pStartSh->LockView( true );
+ const bool bOldLockView = pShell->IsViewLocked();
+ pShell->LockView( true );
m_rDoc.getIDocumentFieldsAccess().GetSysFldType( RES_CHAPTERFLD )->ModifyNotification( 0, 0 ); // ChapterField
m_rDoc.getIDocumentFieldsAccess().UpdateExpFlds( 0, false ); // Updates ExpressionFields
@@ -155,7 +154,7 @@ IMPL_LINK( DocumentTimerManager, DoIdleJobs, Timer *, pTimer )
pTmpRoot->EndAllAction();
- pStartSh->LockView( bOldLockView );
+ pShell->LockView( bOldLockView );
m_rDoc.getIDocumentFieldsAccess().GetUpdtFlds().SetInUpdateFlds( false );
m_rDoc.getIDocumentFieldsAccess().GetUpdtFlds().SetFieldsDirty( false );
commit 359ebc27849e570d14f805bd676a0af5fd03df5c
Author: Bjoern Michaelsen <bjoern.michaelsen at canonical.com>
Date: Thu Dec 4 15:49:18 2014 +0100
use C++11 iteration
Change-Id: I6eb1287a6dcb27b2d29612f8ec71290ace62be32
diff --git a/sw/source/core/crsr/crsrsh.cxx b/sw/source/core/crsr/crsrsh.cxx
index 0e78181..dc66cdd 100644
--- a/sw/source/core/crsr/crsrsh.cxx
+++ b/sw/source/core/crsr/crsrsh.cxx
@@ -2556,10 +2556,11 @@ void SwCrsrShell::ParkCrsr( const SwNodeIndex &rIdx )
// take care of all shells
SwViewShell *pTmp = this;
- do {
- if( pTmp->IsA( TYPE( SwCrsrShell )))
+ for(SwViewShell& rTmp : GetRingContainer())
+ {
+ if( rTmp.IsA( TYPE( SwCrsrShell )))
{
- SwCrsrShell* pSh = static_cast<SwCrsrShell*>(pTmp);
+ SwCrsrShell* pSh = static_cast<SwCrsrShell*>(&rTmp);
if( pSh->m_pCrsrStk )
pSh->_ParkPams( pNew, &pSh->m_pCrsrStk );
@@ -2577,7 +2578,7 @@ void SwCrsrShell::ParkCrsr( const SwNodeIndex &rIdx )
}
}
}
- } while ( this != (pTmp = static_cast<SwViewShell*>(pTmp->GetNext()) ));
+ }
delete pNew;
}
commit f6ad09176b962dabf96aca4a5e25f8e601787367
Author: Bjoern Michaelsen <bjoern.michaelsen at canonical.com>
Date: Thu Dec 4 14:52:28 2014 +0100
use C++11 iteration
Change-Id: I47eb10d425a6997d2bebaa5e56dd90543749c8b7
diff --git a/sw/source/core/doc/DocumentDrawModelManager.cxx b/sw/source/core/doc/DocumentDrawModelManager.cxx
index 6d0761d..5b2b182 100644
--- a/sw/source/core/doc/DocumentDrawModelManager.cxx
+++ b/sw/source/core/doc/DocumentDrawModelManager.cxx
@@ -211,14 +211,11 @@ SwDrawModel* DocumentDrawModelManager::_MakeDrawModel()
{
OSL_ENSURE( !mpDrawModel, "_MakeDrawModel: Why?" );
InitDrawModel();
- if ( m_rDoc.getIDocumentLayoutAccess().GetCurrentViewShell() )
+ SwViewShell* const pSh = m_rDoc.getIDocumentLayoutAccess().GetCurrentViewShell();
+ if ( pSh )
{
- SwViewShell* pTmp = m_rDoc.getIDocumentLayoutAccess().GetCurrentViewShell();
- do
- {
- pTmp->MakeDrawView();
- pTmp = static_cast<SwViewShell*>( pTmp->GetNext());
- } while ( pTmp != m_rDoc.getIDocumentLayoutAccess().GetCurrentViewShell() );
+ for(SwViewShell& rViewSh : pSh->GetRingContainer())
+ rViewSh.MakeDrawView();
// Broadcast, so that the FormShell can be connected to the DrawView
if( m_rDoc.GetDocShell() )
commit 4942573a9efadb7986e9daae3db2ea4d28eb6ac1
Author: Bjoern Michaelsen <bjoern.michaelsen at canonical.com>
Date: Thu Dec 4 14:51:08 2014 +0100
use C++11 iteration
Change-Id: I07de79fd793051efef717b7c44c88812cefc59d5
diff --git a/sw/source/core/doc/DocumentDrawModelManager.cxx b/sw/source/core/doc/DocumentDrawModelManager.cxx
index d76b594..6d0761d 100644
--- a/sw/source/core/doc/DocumentDrawModelManager.cxx
+++ b/sw/source/core/doc/DocumentDrawModelManager.cxx
@@ -150,12 +150,12 @@ void DocumentDrawModelManager::InitDrawModel()
mpDrawModel->SetRefDevice( pRefDev );
mpDrawModel->SetNotifyUndoActionHdl( LINK( &m_rDoc, SwDoc, AddDrawUndo ));
- if ( m_rDoc.getIDocumentLayoutAccess().GetCurrentViewShell() )
+ SwViewShell* const pSh = m_rDoc.getIDocumentLayoutAccess().GetCurrentViewShell();
+ if ( pSh )
{
- SwViewShell* pViewSh = m_rDoc.getIDocumentLayoutAccess().GetCurrentViewShell();
- do
+ for(SwViewShell& rViewSh : pSh->GetRingContainer())
{
- SwRootFrm* pRoot = pViewSh->GetLayout();
+ SwRootFrm* pRoot = rViewSh.GetLayout();
if( pRoot && !pRoot->GetDrawPage() )
{
// Disable "multiple layout" for the moment:
@@ -166,8 +166,7 @@ void DocumentDrawModelManager::InitDrawModel()
pRoot->SetDrawPage( pDrawPage );
pDrawPage->SetSize( pRoot->Frm().SSize() );
}
- pViewSh = static_cast<SwViewShell*>(pViewSh->GetNext());
- }while( pViewSh != m_rDoc.getIDocumentLayoutAccess().GetCurrentViewShell() );
+ }
}
}
commit 798ffd674b26666d0ada967f144bfdd54821e79f
Author: Bjoern Michaelsen <bjoern.michaelsen at canonical.com>
Date: Thu Dec 4 14:38:27 2014 +0100
use C++11 iteration
Change-Id: I8992c9fd853b7b92e328826063b50244f9fa3544
diff --git a/sw/source/core/doc/doccorr.cxx b/sw/source/core/doc/doccorr.cxx
index eaf11f6..b012731 100644
--- a/sw/source/core/doc/doccorr.cxx
+++ b/sw/source/core/doc/doccorr.cxx
@@ -320,17 +320,16 @@ SwEditShell const * SwDoc::GetEditShell() const
// Layout and OLE shells should be available
if( pCurrentView )
{
- SwViewShell const *pFirstVSh = pCurrentView;
- SwViewShell const *pCurrentVSh = pFirstVSh;
- // look for an EditShell (if it exists)
- do {
- if( pCurrentVSh->IsA( TYPE( SwEditShell ) ) )
+ for(const SwViewShell& rCurrentSh : pCurrentView->GetRingContainer())
+ {
+ // look for an EditShell (if it exists)
+ if( rCurrentSh.IsA( TYPE( SwEditShell ) ) )
{
- return static_cast<const SwEditShell*>(pCurrentVSh);
+ return static_cast<const SwEditShell*>(&rCurrentSh);
}
- } while( pFirstVSh != ( pCurrentVSh = static_cast<SwViewShell*>(pCurrentVSh->GetNext()) ));
+ }
}
- return 0;
+ return nullptr;
}
SwEditShell* SwDoc::GetEditShell()
commit 6aca1a26c3d46cd9b79bf7b109622352b1d0e12b
Author: Bjoern Michaelsen <bjoern.michaelsen at canonical.com>
Date: Thu Dec 4 14:37:20 2014 +0100
use C++11 iteration
Change-Id: I30a252d2d518a361e16050f6eeffbe4371a9c982
diff --git a/sw/source/core/crsr/viscrs.cxx b/sw/source/core/crsr/viscrs.cxx
index 4bb9588..937fcf0 100644
--- a/sw/source/core/crsr/viscrs.cxx
+++ b/sw/source/core/crsr/viscrs.cxx
@@ -537,11 +537,8 @@ void SwShellCrsr::FillRects()
void SwShellCrsr::Show()
{
- SwShellCrsr * pTmp = this;
- do {
- if (pTmp)
- pTmp->SwSelPaintRects::Show();
- } while( this != ( pTmp = dynamic_cast<SwShellCrsr*>(pTmp->GetNext()) ) );
+ for(SwPaM& rTmp : GetRingContainer())
+ dynamic_cast<SwShellCrsr*>(&rTmp)->SwSelPaintRects::Show();
}
// This rectangle gets painted anew, therefore the SSelection in this
commit e04d4d196a91fce2370fd44f0bd23a195589860d
Author: Bjoern Michaelsen <bjoern.michaelsen at canonical.com>
Date: Thu Dec 4 14:14:31 2014 +0100
use C++11 iteration
Change-Id: I185b03dc8b747178fc442b7748dfe40762b46d32
diff --git a/sw/source/core/doc/doclay.cxx b/sw/source/core/doc/doclay.cxx
index 7c4b58f..8accb57 100644
--- a/sw/source/core/doc/doclay.cxx
+++ b/sw/source/core/doc/doclay.cxx
@@ -430,34 +430,32 @@ SwFlyFrmFmt* SwDoc::MakeFlyAndMove( const SwPaM& rPam, const SfxItemSet& rSet,
else
{
// copy all Pams and then delete all
- SwPaM* pTmp = (SwPaM*)&rPam;
bool bOldFlag = mbCopyIsMove;
bool const bOldUndo = GetIDocumentUndoRedo().DoesUndo();
bool const bOldRedlineMove(getIDocumentRedlineAccess().IsRedlineMove());
mbCopyIsMove = true;
GetIDocumentUndoRedo().DoUndo(false);
getIDocumentRedlineAccess().SetRedlineMove(true);
- do {
- if( pTmp->HasMark() &&
- *pTmp->GetPoint() != *pTmp->GetMark() )
+ for(const SwPaM& rTmp : rPam.GetRingContainer())
+ {
+ if( rTmp.HasMark() &&
+ *rTmp.GetPoint() != *rTmp.GetMark() )
{
- getIDocumentContentOperations().CopyRange( *pTmp, aPos, false );
+ getIDocumentContentOperations().CopyRange( *const_cast<SwPaM*>(&rTmp), aPos, false );
}
- pTmp = static_cast<SwPaM*>(pTmp->GetNext());
- } while ( &rPam != pTmp );
+ }
getIDocumentRedlineAccess().SetRedlineMove(bOldRedlineMove);
mbCopyIsMove = bOldFlag;
GetIDocumentUndoRedo().DoUndo(bOldUndo);
- pTmp = (SwPaM*)&rPam;
- do {
- if( pTmp->HasMark() &&
- *pTmp->GetPoint() != *pTmp->GetMark() )
+ for(const SwPaM& rTmp : rPam.GetRingContainer())
+ {
+ if( rTmp.HasMark() &&
+ *rTmp.GetPoint() != *rTmp.GetMark() )
{
- getIDocumentContentOperations().DeleteAndJoin( *pTmp );
+ getIDocumentContentOperations().DeleteAndJoin( *const_cast<SwPaM*>(&rTmp) );
}
- pTmp = static_cast<SwPaM*>(pTmp->GetNext());
- } while ( &rPam != pTmp );
+ }
}
} while( false );
}
More information about the Libreoffice-commits
mailing list