loplugin:buriedassign in sw(3)
Change-Id: Iabeb4c7f9bb224c7eacc9a102a66f70bdca70dd1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92497
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
diff --git a/sw/source/core/doc/CntntIdxStore.cxx b/sw/source/core/doc/CntntIdxStore.cxx
index 98fbca5..1fe119f 100644
--- a/sw/source/core/doc/CntntIdxStore.cxx
+++ b/sw/source/core/doc/CntntIdxStore.cxx
@@ -442,10 +442,15 @@ void ContentIdxStoreImpl::SaveShellCursors(SwDoc* pDoc, sal_uLong nNode, sal_Int
{
SwPaM *_pStackCursor = static_cast<SwCursorShell*>(&rCurShell)->GetStackCursor();
if( _pStackCursor )
do {
for (;;)
{
lcl_ChkPaMBoth( m_aShellCursorEntries, nNode, nContent, *_pStackCursor);
} while ( (_pStackCursor != nullptr ) &&
((_pStackCursor = _pStackCursor->GetNext()) != static_cast<SwCursorShell*>(&rCurShell)->GetStackCursor()) );
if (!_pStackCursor)
break;
_pStackCursor = _pStackCursor->GetNext();
if (_pStackCursor == static_cast<SwCursorShell*>(&rCurShell)->GetStackCursor())
break;
}
for(SwPaM& rPaM : static_cast<SwCursorShell*>(&rCurShell)->GetCursor_()->GetRingContainer())
{
diff --git a/sw/source/core/doc/DocumentChartDataProviderManager.cxx b/sw/source/core/doc/DocumentChartDataProviderManager.cxx
index 674c43c8..9078572 100644
--- a/sw/source/core/doc/DocumentChartDataProviderManager.cxx
+++ b/sw/source/core/doc/DocumentChartDataProviderManager.cxx
@@ -64,7 +64,8 @@ void DocumentChartDataProviderManager::CreateChartInternalDataProviders( const S
while (nullptr != (pStNd = aIdx.GetNode().GetStartNode()))
{
++aIdx;
if( nullptr != ( pONd = aIdx.GetNode().GetOLENode() ) &&
pONd = aIdx.GetNode().GetOLENode();
if( pONd &&
aName == pONd->GetChartTableName() /* OLE node is chart? */ &&
nullptr != (pONd->getLayoutFrame( m_rDoc.getIDocumentLayoutAccess().GetCurrentLayout() )) /* chart frame is not hidden */ )
{
diff --git a/sw/source/core/doc/DocumentFieldsManager.cxx b/sw/source/core/doc/DocumentFieldsManager.cxx
index 88e0c6b..800c909 100644
--- a/sw/source/core/doc/DocumentFieldsManager.cxx
+++ b/sw/source/core/doc/DocumentFieldsManager.cxx
@@ -816,16 +816,19 @@ void DocumentFieldsManager::UpdateTableFields( SfxPoolItem* pHt )
if( !pCNd )
pCNd = m_rDoc.GetNodes().GoNext( &aCNdIdx );
std::pair<Point, bool> const tmp(aPt, true);
if (pCNd && nullptr != (pFrame = pCNd->getLayoutFrame(
pLayout, nullptr, &tmp)))
if (pCNd)
{
SwPosition aPos( *pCNd );
if( GetBodyTextNode( m_rDoc, aPos, *pFrame ) )
FieldsToCalc(*pCalc, SetGetExpField(aPos.nNode),
pLayout);
else
pFrame = nullptr;
std::pair<Point, bool> const tmp(aPt, true);
pFrame = pCNd->getLayoutFrame(pLayout, nullptr, &tmp);
if( pFrame )
{
SwPosition aPos( *pCNd );
if( GetBodyTextNode( m_rDoc, aPos, *pFrame ) )
FieldsToCalc(*pCalc, SetGetExpField(aPos.nNode),
pLayout);
else
pFrame = nullptr;
}
}
}
if( !pFrame )
diff --git a/sw/source/core/doc/DocumentLinksAdministrationManager.cxx b/sw/source/core/doc/DocumentLinksAdministrationManager.cxx
index 83a1e8f..c5ca5b1 100644
--- a/sw/source/core/doc/DocumentLinksAdministrationManager.cxx
+++ b/sw/source/core/doc/DocumentLinksAdministrationManager.cxx
@@ -122,9 +122,8 @@ namespace
if( sNm == sCompare )
{
// found, so get the data
const SwNodeIndex* pIdx;
if( nullptr != (pIdx = pSectFormat->GetContent().GetContentIdx() ) &&
&pSectFormat->GetDoc()->GetNodes() == &pIdx->GetNodes() )
const SwNodeIndex* pIdx = pSectFormat->GetContent().GetContentIdx();
if( pIdx && &pSectFormat->GetDoc()->GetNodes() == &pIdx->GetNodes() )
{
// a table in the normal NodesArr
pItem->pSectNd = pIdx->GetNode().GetSectionNode();
@@ -142,17 +141,18 @@ namespace
OUString sNm( GetAppCharClass().lowercase( pTableFormat->GetName() ));
if ( sNm == pItem->m_Item )
{
SwTable* pTmpTable;
SwTableBox* pFBox;
if( nullptr != ( pTmpTable = SwTable::FindTable( pTableFormat ) ) &&
nullptr != ( pFBox = pTmpTable->GetTabSortBoxes()[0] ) &&
pFBox->GetSttNd() &&
&pTableFormat->GetDoc()->GetNodes() == &pFBox->GetSttNd()->GetNodes() )
SwTable* pTmpTable = SwTable::FindTable( pTableFormat );
if( pTmpTable )
{
// a table in the normal NodesArr
pItem->pTableNd = const_cast<SwTableNode*>(
pFBox->GetSttNd()->FindTableNode());
return false;
SwTableBox* pFBox = pTmpTable->GetTabSortBoxes()[0];
if( pFBox && pFBox->GetSttNd() &&
&pTableFormat->GetDoc()->GetNodes() == &pFBox->GetSttNd()->GetNodes() )
{
// a table in the normal NodesArr
pItem->pTableNd = const_cast<SwTableNode*>(
pFBox->GetSttNd()->FindTableNode());
return false;
}
}
// If the name is already correct, but not the rest then we don't have them.
// The names are always unique.
@@ -337,13 +337,16 @@ void DocumentLinksAdministrationManager::SetData( const OUString& rItem )
{
// bookmarks
::sw::mark::DdeBookmark* const pBkmk = lcl_FindDdeBookmark(*m_rDoc.getIDocumentMarkAccess(), rItem, bCaseSensitive);
if(pBkmk && pBkmk->IsExpanded()
&& (nullptr == (pObj = pBkmk->GetRefObject())))
if(pBkmk && pBkmk->IsExpanded())
{
// mark found, but no link yet -> create hotlink
pObj = new SwServerObject(*pBkmk);
pBkmk->SetRefObject(pObj);
GetLinkManager().InsertServer(pObj);
pObj = pBkmk->GetRefObject();
if( !pObj )
{
// mark found, but no link yet -> create hotlink
pObj = new SwServerObject(*pBkmk);
pBkmk->SetRefObject(pObj);
GetLinkManager().InsertServer(pObj);
}
}
if(pObj)
return pObj;
@@ -356,13 +359,16 @@ void DocumentLinksAdministrationManager::SetData( const OUString& rItem )
break;
}
if(aPara.pSectNd
&& (nullptr == (pObj = aPara.pSectNd->GetSection().GetObject())))
if(aPara.pSectNd)
{
// section found, but no link yet -> create hotlink
pObj = new SwServerObject( *aPara.pSectNd );
aPara.pSectNd->GetSection().SetRefObject( pObj );
GetLinkManager().InsertServer(pObj);
pObj = aPara.pSectNd->GetSection().GetObject();
if( !pObj )
{
// section found, but no link yet -> create hotlink
pObj = new SwServerObject( *aPara.pSectNd );
aPara.pSectNd->GetSection().SetRefObject( pObj );
GetLinkManager().InsertServer(pObj);
}
}
if(pObj)
return pObj;
@@ -378,13 +384,16 @@ void DocumentLinksAdministrationManager::SetData( const OUString& rItem )
if (!(lcl_FindTable(pFormat, &aPara)))
break;
}
if(aPara.pTableNd
&& (nullptr == (pObj = aPara.pTableNd->GetTable().GetObject())))
if(aPara.pTableNd)
{
// table found, but no link yet -> create hotlink
pObj = new SwServerObject(*aPara.pTableNd);
aPara.pTableNd->GetTable().SetRefObject(pObj);
GetLinkManager().InsertServer(pObj);
pObj = aPara.pTableNd->GetTable().GetObject();
if( !pObj )
{
// table found, but no link yet -> create hotlink
pObj = new SwServerObject(*aPara.pTableNd);
aPara.pTableNd->GetTable().SetRefObject(pObj);
GetLinkManager().InsertServer(pObj);
}
}
return pObj;
}
@@ -477,12 +486,18 @@ bool DocumentLinksAdministrationManager::SelectServerObj( const OUString& rStr,
SwNodeIndex* pIdx;
SwNode* pNd;
const SwFlyFrameFormat* pFlyFormat = m_rDoc.FindFlyByName( sName );
if( pFlyFormat &&
nullptr != ( pIdx = const_cast<SwNodeIndex*>(pFlyFormat->GetContent().GetContentIdx()) ) &&
!( pNd = &pIdx->GetNode())->IsNoTextNode() )
if( pFlyFormat )
{
rpRange.reset(new SwNodeRange( *pNd, 1, *pNd->EndOfSectionNode() ));
return true;
pIdx = const_cast<SwNodeIndex*>(pFlyFormat->GetContent().GetContentIdx());
if( pIdx )
{
pNd = &pIdx->GetNode();
if( !pNd->IsNoTextNode() )
{
rpRange.reset(new SwNodeRange( *pNd, 1, *pNd->EndOfSectionNode() ));
return true;
}
}
}
}
else if( sCmp == "region" )
diff --git a/sw/source/core/doc/DocumentRedlineManager.cxx b/sw/source/core/doc/DocumentRedlineManager.cxx
index 759a063..3d8435e 100644
--- a/sw/source/core/doc/DocumentRedlineManager.cxx
+++ b/sw/source/core/doc/DocumentRedlineManager.cxx
@@ -283,10 +283,12 @@ namespace
bool IsPrevPos( const SwPosition & rPos1, const SwPosition & rPos2 )
{
const SwContentNode* pCNd;
return 0 == rPos2.nContent.GetIndex() &&
rPos2.nNode.GetIndex() - 1 == rPos1.nNode.GetIndex() &&
nullptr != ( pCNd = rPos1.nNode.GetNode().GetContentNode() ) &&
rPos1.nContent.GetIndex() == pCNd->Len();
if( 0 != rPos2.nContent.GetIndex() )
return false;
if( rPos2.nNode.GetIndex() - 1 != rPos1.nNode.GetIndex() )
return false;
pCNd = rPos1.nNode.GetNode().GetContentNode();
return pCNd && rPos1.nContent.GetIndex() == pCNd->Len();
}
// copy style or return with SwRedlineExtra_FormatColl with reject data of the upcoming copy
@@ -2847,10 +2849,11 @@ const SwRangeRedline* DocumentRedlineManager::SelNextRedline( SwPaM& rPam ) cons
if( pTmp->HasMark() && pTmp->IsVisible() )
{
const SwPosition *pRStt;
if( pFnd->GetType() == pTmp->GetType() &&
pFnd->GetAuthor() == pTmp->GetAuthor() &&
( *pPrevEnd == *( pRStt = pTmp->Start() ) ||
IsPrevPos( *pPrevEnd, *pRStt )) )
if( pFnd->GetType() != pTmp->GetType() ||
pFnd->GetAuthor() != pTmp->GetAuthor() )
break;
pRStt = pTmp->Start();
if( *pPrevEnd == *pRStt || IsPrevPos( *pPrevEnd, *pRStt ) )
{
pPrevEnd = pTmp->End();
rSttPos = *pPrevEnd;
@@ -2867,25 +2870,31 @@ const SwRangeRedline* DocumentRedlineManager::SelNextRedline( SwPaM& rPam ) cons
SwContentNode* pCNd;
SwNodeIndex* pIdx = &rPam.GetMark()->nNode;
if( !pIdx->GetNode().IsContentNode() &&
nullptr != ( pCNd = m_rDoc.GetNodes().GoNextSection( pIdx )) )
if( !pIdx->GetNode().IsContentNode() )
{
if( *pIdx <= rPam.GetPoint()->nNode )
rPam.GetMark()->nContent.Assign( pCNd, 0 );
else
pFnd = nullptr;
pCNd = m_rDoc.GetNodes().GoNextSection( pIdx );
if( pCNd )
{
if( *pIdx <= rPam.GetPoint()->nNode )
rPam.GetMark()->nContent.Assign( pCNd, 0 );
else
pFnd = nullptr;
}
}
if( pFnd )
{
pIdx = &rPam.GetPoint()->nNode;
if( !pIdx->GetNode().IsContentNode() &&
nullptr != ( pCNd = SwNodes::GoPrevSection( pIdx )) )
if( !pIdx->GetNode().IsContentNode() )
{
if( *pIdx >= rPam.GetMark()->nNode )
rPam.GetPoint()->nContent.Assign( pCNd, pCNd->Len() );
else
pFnd = nullptr;
pCNd = SwNodes::GoPrevSection( pIdx );
if( pCNd )
{
if( *pIdx >= rPam.GetMark()->nNode )
rPam.GetPoint()->nContent.Assign( pCNd, pCNd->Len() );
else
pFnd = nullptr;
}
}
}
@@ -2988,25 +2997,31 @@ const SwRangeRedline* DocumentRedlineManager::SelPrevRedline( SwPaM& rPam ) cons
SwContentNode* pCNd;
SwNodeIndex* pIdx = &rPam.GetMark()->nNode;
if( !pIdx->GetNode().IsContentNode() &&
nullptr != ( pCNd = SwNodes::GoPrevSection( pIdx )) )
if( !pIdx->GetNode().IsContentNode() )
{
if( *pIdx >= rPam.GetPoint()->nNode )
rPam.GetMark()->nContent.Assign( pCNd, pCNd->Len() );
else
pFnd = nullptr;
pCNd = SwNodes::GoPrevSection( pIdx );
if( pCNd )
{
if( *pIdx >= rPam.GetPoint()->nNode )
rPam.GetMark()->nContent.Assign( pCNd, pCNd->Len() );
else
pFnd = nullptr;
}
}
if( pFnd )
{
pIdx = &rPam.GetPoint()->nNode;
if( !pIdx->GetNode().IsContentNode() &&
nullptr != ( pCNd = m_rDoc.GetNodes().GoNextSection( pIdx )) )
if( !pIdx->GetNode().IsContentNode() )
{
if( *pIdx <= rPam.GetMark()->nNode )
rPam.GetPoint()->nContent.Assign( pCNd, 0 );
else
pFnd = nullptr;
pCNd = m_rDoc.GetNodes().GoNextSection( pIdx );
if( pCNd )
{
if( *pIdx <= rPam.GetMark()->nNode )
rPam.GetPoint()->nContent.Assign( pCNd, 0 );
else
pFnd = nullptr;
}
}
}
diff --git a/sw/source/core/doc/DocumentStylePoolManager.cxx b/sw/source/core/doc/DocumentStylePoolManager.cxx
index 1dc4c4e..41b44ec 100644
--- a/sw/source/core/doc/DocumentStylePoolManager.cxx
+++ b/sw/source/core/doc/DocumentStylePoolManager.cxx
@@ -585,7 +585,8 @@ SwTextFormatColl* DocumentStylePoolManager::GetTextCollFromPool( sal_uInt16 nId,
sal_uInt16 nOutLvlBits = 0;
for (size_t n = 0, nSize = m_rDoc.GetTextFormatColls()->size(); n < nSize; ++n)
{
if( nId == ( pNewColl = (*m_rDoc.GetTextFormatColls())[ n ] )->GetPoolFormatId() )
pNewColl = (*m_rDoc.GetTextFormatColls())[ n ];
if( nId == pNewColl->GetPoolFormatId() )
{
return pNewColl;
}
@@ -1467,11 +1468,13 @@ SwFormat* DocumentStylePoolManager::GetFormatFromPool( sal_uInt16 nId )
while( nArrCnt-- )
for( size_t n = 0; n < (*pArray[nArrCnt]).GetFormatCount(); ++n )
if( nId == ( pNewFormat = (*pArray[ nArrCnt ] ).GetFormat( n ) )->
GetPoolFormatId() )
{
pNewFormat = (*pArray[ nArrCnt ] ).GetFormat( n );
if( nId == pNewFormat->GetPoolFormatId() )
{
return pNewFormat;
}
}
OUString aNm(SwResId(pRCId));
SwAttrSet aSet( m_rDoc.GetAttrPool(), pWhichRange );
@@ -1873,7 +1876,8 @@ SwNumRule* DocumentStylePoolManager::GetNumRuleFromPool( sal_uInt16 nId )
for (size_t n = 0; n < m_rDoc.GetNumRuleTable().size(); ++n )
{
if (nId == ( pNewRule = m_rDoc.GetNumRuleTable()[ n ] )->GetPoolFormatId())
pNewRule = m_rDoc.GetNumRuleTable()[ n ];
if (nId == pNewRule->GetPoolFormatId())
{
return pNewRule;
}
@@ -2497,9 +2501,11 @@ bool DocumentStylePoolManager::IsPoolFormatUsed( sal_uInt16 nId ) const
bFnd = false;
while( nArrCnt-- && !bFnd )
for( size_t n = 0; !bFnd && n < (*pArray[nArrCnt]).GetFormatCount(); ++n )
if( nId == ( pNewFormat = (*pArray[ nArrCnt ] ).GetFormat( n ) )->
GetPoolFormatId() )
{
pNewFormat = (*pArray[ nArrCnt ] ).GetFormat( n );
if( nId == pNewFormat->GetPoolFormatId() )
bFnd = true;
}
}
// Not found or no dependencies?
diff --git a/sw/source/core/doc/doc.cxx b/sw/source/core/doc/doc.cxx
index 2a8511a..6ed9811 100644
--- a/sw/source/core/doc/doc.cxx
+++ b/sw/source/core/doc/doc.cxx
@@ -1064,17 +1064,16 @@ const SwFormatRefMark* SwDoc::GetRefMark( const OUString& rName ) const
/// @return the RefMark per index - for Uno
const SwFormatRefMark* SwDoc::GetRefMark( sal_uInt16 nIndex ) const
{
const SwTextRefMark* pTextRef;
const SwFormatRefMark* pRet = nullptr;
sal_uInt32 nCount = 0;
for (const SfxPoolItem* pItem : GetAttrPool().GetItemSurrogates(RES_TXTATR_REFMARK))
{
auto pRefMark = dynamic_cast<const SwFormatRefMark*>(pItem);
if( pRefMark &&
nullptr != (pTextRef = pRefMark->GetTextRefMark()) &&
&pTextRef->GetTextNode().GetNodes() == &GetNodes() )
if( !pRefMark )
continue;
const SwTextRefMark* pTextRef = pRefMark->GetTextRefMark();
if( pTextRef && &pTextRef->GetTextNode().GetNodes() == &GetNodes() )
{
if(nCount == nIndex)
{
@@ -1092,16 +1091,14 @@ const SwFormatRefMark* SwDoc::GetRefMark( sal_uInt16 nIndex ) const
// OS 25.06.96: From now on we always return the reference count
sal_uInt16 SwDoc::GetRefMarks( std::vector<OUString>* pNames ) const
{
const SwTextRefMark* pTextRef;
sal_uInt16 nCount = 0;
for (const SfxPoolItem* pItem : GetAttrPool().GetItemSurrogates(RES_TXTATR_REFMARK))
{
auto pRefMark = dynamic_cast<const SwFormatRefMark*>(pItem);
if( pRefMark &&
nullptr != (pTextRef = pRefMark->GetTextRefMark()) &&
&pTextRef->GetTextNode().GetNodes() == &GetNodes() )
if( !pRefMark )
continue;
const SwTextRefMark* pTextRef = pRefMark->GetTextRefMark();
if( pTextRef && &pTextRef->GetTextNode().GetNodes() == &GetNodes() )
{
if( pNames )
{
@@ -1207,16 +1204,16 @@ void SwDoc::InvalidateAutoCompleteFlag()
const SwFormatINetFormat* SwDoc::FindINetAttr( const OUString& rName ) const
{
const SwTextINetFormat* pTextAttr;
const SwTextNode* pTextNd;
for (const SfxPoolItem* pItem : GetAttrPool().GetItemSurrogates(RES_TXTATR_INETFMT))
{
auto pFormatItem = dynamic_cast<const SwFormatINetFormat*>(pItem);
if( pFormatItem &&
pFormatItem->GetName() == rName &&
nullptr != ( pTextAttr = pFormatItem->GetTextINetFormat()) &&
nullptr != ( pTextNd = pTextAttr->GetpTextNode() ) &&
&pTextNd->GetNodes() == &GetNodes() )
if( !pFormatItem || pFormatItem->GetName() != rName )
continue;
const SwTextINetFormat* pTextAttr = pFormatItem->GetTextINetFormat();
if( !pTextAttr )
continue;
const SwTextNode* pTextNd = pTextAttr->GetpTextNode();
if( pTextNd && &pTextNd->GetNodes() == &GetNodes() )
{
return pFormatItem;
}
@@ -1264,9 +1261,9 @@ void SwDoc::Summary( SwDoc* pExtDoc, sal_uInt8 nLevel, sal_uInt8 nPara, bool bIm
++aEndOfDoc;
while( aIndx < aEndOfDoc )
{
SwNode *pNode;
bool bDelete = false;
if( (pNode = &aIndx.GetNode())->IsTextNode() )
SwNode *pNode = &aIndx.GetNode();
if( pNode->IsTextNode() )
{
SwTextNode *pNd = pNode->GetTextNode();
if( pNd->HasSwAttrSet() )
@@ -1323,9 +1320,10 @@ void RemoveOrDeleteContents(SwTextNode* pTextNd, IDocumentContentOperations& xOp
bool HandleHidingField(SwFormatField& rFormatField, const SwNodes& rNodes,
IDocumentContentOperations& xOperations)
{
SwTextNode* pTextNd;
if (rFormatField.GetTextField()
&& nullptr != (pTextNd = rFormatField.GetTextField()->GetpTextNode())
if( !rFormatField.GetTextField() )
return false;
SwTextNode* pTextNd = rFormatField.GetTextField()->GetpTextNode();
if( pTextNd
&& pTextNd->GetpSwpHints() && pTextNd->IsHiddenByParaField()
&& &pTextNd->GetNodes() == &rNodes)
{
diff --git a/sw/source/core/doc/docbasic.cxx b/sw/source/core/doc/docbasic.cxx
index e72ee5a..4fb0db9 100644
--- a/sw/source/core/doc/docbasic.cxx
+++ b/sw/source/core/doc/docbasic.cxx
@@ -179,16 +179,18 @@ sal_uInt16 SwDoc::CallEvent( SvMacroItemId nEvent, const SwCallMouseEvent& rCall
if( bCheckPtr )
{
const SwFrameFormat* pFormat = rCallEvent.PTR.IMAP.pFormat;
const ImageMap* pIMap;
if (GetSpzFrameFormats()->IsAlive(pFormat) &&
nullptr != (pIMap = pFormat->GetURL().GetMap()) )
if (GetSpzFrameFormats()->IsAlive(pFormat))
{
for( size_t nPos = pIMap->GetIMapObjectCount(); nPos; )
if( pIMapObj == pIMap->GetIMapObject( --nPos ))
{
bCheckPtr = false; // misuse as a flag
break;
}
const ImageMap* pIMap = pFormat->GetURL().GetMap();
if (pIMap)
{
for( size_t nPos = pIMap->GetIMapObjectCount(); nPos; )
if( pIMapObj == pIMap->GetIMapObject( --nPos ))
{
bCheckPtr = false; // misuse as a flag
break;
}
}
}
}
if( !bCheckPtr )
diff --git a/sw/source/core/doc/docbm.cxx b/sw/source/core/doc/docbm.cxx
index 423aeed..2f7e48c 100644
--- a/sw/source/core/doc/docbm.cxx
+++ b/sw/source/core/doc/docbm.cxx
@@ -1818,7 +1818,9 @@ void DelBookmarks(
{
bool bStt = true;
SwContentNode* pCNd = pRStt->nNode.GetNode().GetContentNode();
if( !pCNd && nullptr == ( pCNd = pDoc->GetNodes().GoNext( &pRStt->nNode )) )
if( !pCNd )
pCNd = pDoc->GetNodes().GoNext( &pRStt->nNode );
if (!pCNd)
{
bStt = false;
pRStt->nNode = rStt;
@@ -1840,7 +1842,9 @@ void DelBookmarks(
{
bool bStt = false;
SwContentNode* pCNd = pREnd->nNode.GetNode().GetContentNode();
if( !pCNd && nullptr == ( pCNd = SwNodes::GoPrevious( &pREnd->nNode )) )
if( !pCNd )
pCNd = SwNodes::GoPrevious( &pREnd->nNode );
if( !pCNd )
{
bStt = true;
pREnd->nNode = rEnd;
diff --git a/sw/source/core/doc/docchart.cxx b/sw/source/core/doc/docchart.cxx
index d0601e4..4acfb51 100644
--- a/sw/source/core/doc/docchart.cxx
+++ b/sw/source/core/doc/docchart.cxx
@@ -83,16 +83,13 @@ void SwDoc::DoUpdateAllCharts()
const SwFrameFormats& rTableFormats = *GetTableFrameFormats();
for( size_t n = 0; n < rTableFormats.size(); ++n )
{
SwTable* pTmpTable;
const SwTableNode* pTableNd;
const SwFrameFormat* pFormat = rTableFormats[ n ];
if( nullptr != ( pTmpTable = SwTable::FindTable( pFormat ) ) &&
nullptr != ( pTableNd = pTmpTable->GetTableNode() ) &&
pTableNd->GetNodes().IsDocNodes() )
{
UpdateCharts_( *pTmpTable, *pVSh );
}
if( SwTable* pTmpTable = SwTable::FindTable( pFormat ) )
if( const SwTableNode* pTableNd = pTmpTable->GetTableNode() )
if( pTableNd->GetNodes().IsDocNodes() )
{
UpdateCharts_( *pTmpTable, *pVSh );
}
}
}
}
@@ -105,8 +102,8 @@ void SwDoc::UpdateCharts_( const SwTable& rTable, SwViewShell const & rVSh ) con
while( nullptr != (pStNd = aIdx.GetNode().GetStartNode()) )
{
++aIdx;
SwOLENode *pONd;
if( nullptr != ( pONd = aIdx.GetNode().GetOLENode() ) &&
SwOLENode *pONd = aIdx.GetNode().GetOLENode();
if( pONd &&
aName == pONd->GetChartTableName() &&
pONd->getLayoutFrame( rVSh.GetLayout() ) )
{
@@ -142,8 +139,8 @@ void SwDoc::SetTableName( SwFrameFormat& rTableFormat, const OUString &rNewName
const SwFrameFormats& rTable = *GetTableFrameFormats();
for( size_t i = rTable.size(); i; )
{
const SwFrameFormat* pFormat;
if( !( pFormat = rTable[ --i ] )->IsDefault() &&
const SwFrameFormat* pFormat = rTable[ --i ];
if( !pFormat->IsDefault() &&
pFormat->GetName() == rNewName && IsUsed( *pFormat ) )
{
bNameFound = true;
diff --git a/sw/source/core/doc/doccomp.cxx b/sw/source/core/doc/doccomp.cxx
index 21a7945..0b0448b 100644
--- a/sw/source/core/doc/doccomp.cxx
+++ b/sw/source/core/doc/doccomp.cxx
@@ -1410,12 +1410,16 @@ sal_uLong CompareData::NextIdx( const SwNode* pNd )
{
if( pNd->IsStartNode() )
{
const SwSectionNode* pSNd;
if( pNd->IsTableNode() ||
( nullptr != (pSNd = pNd->GetSectionNode() ) &&
( SectionType::Content != pSNd->GetSection().GetType() ||
pSNd->GetSection().IsProtect() ) ) )
if( pNd->IsTableNode() )
pNd = pNd->EndOfSectionNode();
else
{
const SwSectionNode* pSNd = pNd->GetSectionNode();
if( pSNd &&
( SectionType::Content != pSNd->GetSection().GetType() ||
pSNd->GetSection().IsProtect() ) )
pNd = pNd->EndOfSectionNode();
}
}
return pNd->GetIndex() + 1;
}
@@ -1424,12 +1428,16 @@ sal_uLong CompareData::PrevIdx( const SwNode* pNd )
{
if( pNd->IsEndNode() )
{
const SwSectionNode* pSNd;
if( pNd->StartOfSectionNode()->IsTableNode() ||
( nullptr != (pSNd = pNd->StartOfSectionNode()->GetSectionNode() ) &&
( SectionType::Content != pSNd->GetSection().GetType() ||
pSNd->GetSection().IsProtect() ) ) )
if( pNd->StartOfSectionNode()->IsTableNode() )
pNd = pNd->StartOfSectionNode();
else
{
const SwSectionNode* pSNd = pNd->StartOfSectionNode()->GetSectionNode();
if( pSNd &&
( SectionType::Content != pSNd->GetSection().GetType() ||
pSNd->GetSection().IsProtect() ) )
pNd = pNd->StartOfSectionNode();
}
}
return pNd->GetIndex() - 1;
}
diff --git a/sw/source/core/doc/doccorr.cxx b/sw/source/core/doc/doccorr.cxx
index 8e2769b..41f7b67 100644
--- a/sw/source/core/doc/doccorr.cxx
+++ b/sw/source/core/doc/doccorr.cxx
@@ -100,10 +100,15 @@ void PaMCorrAbs( const SwPaM& rRange,
const SwCursorShell* pCursorShell = static_cast<const SwCursorShell*>(&rShell);
SwPaM *_pStackCursor = pCursorShell->GetStackCursor();
if( _pStackCursor )
do {
for (;;)
{
lcl_PaMCorrAbs( *_pStackCursor, aStart, aEnd, aNewPos );
} while ( (_pStackCursor != nullptr ) &&
((_pStackCursor = _pStackCursor->GetNext()) != pCursorShell->GetStackCursor()) );
if( !_pStackCursor )
break;
_pStackCursor = _pStackCursor->GetNext();
if( _pStackCursor == pCursorShell->GetStackCursor() )
break;
}
for(SwPaM& rPaM : const_cast<SwShellCursor*>(pCursorShell->GetCursor_())->GetRingContainer())
{
@@ -252,10 +257,15 @@ void PaMCorrRel( const SwNodeIndex &rOldNode,
SwCursorShell* pCursorShell = const_cast<SwCursorShell*>(static_cast<const SwCursorShell*>(&rShell));
SwPaM *_pStackCursor = pCursorShell->GetStackCursor();
if( _pStackCursor )
do {
for (;;)
{
lcl_PaMCorrRel1( _pStackCursor, pOldNode, aNewPos, nCntIdx );
} while ( (_pStackCursor != nullptr ) &&
((_pStackCursor = _pStackCursor->GetNext()) != pCursorShell->GetStackCursor()) );
if( !_pStackCursor )
break;
_pStackCursor = _pStackCursor->GetNext();
if( _pStackCursor == pCursorShell->GetStackCursor() )
break;
}
SwPaM* pStartPaM = pCursorShell->GetCursor_();
for(SwPaM& rPaM : pStartPaM->GetRingContainer())
diff --git a/sw/source/core/doc/docfld.cxx b/sw/source/core/doc/docfld.cxx
index 36d7f51..7ea93bb 100644
--- a/sw/source/core/doc/docfld.cxx
+++ b/sw/source/core/doc/docfld.cxx
@@ -831,8 +831,10 @@ void SwDocUpdateField::MakeFieldList_( SwDoc& rDoc, int eGetMode )
for (SwSectionFormats::size_type n = rArr.size(); n; )
{
SwSection* pSect = rArr[ --n ]->GetSection();
if( pSect && pSect->IsHidden() && !pSect->GetCondition().isEmpty() &&
nullptr != ( pSectNd = pSect->GetFormat()->GetSectionNode() ))
if( !pSect || !pSect->IsHidden() || pSect->GetCondition().isEmpty() )
continue;
pSectNd = pSect->GetFormat()->GetSectionNode();
if( pSectNd )
{
sal_uLong nIdx = pSectNd->GetIndex();
aTmpArr.push_back( nIdx );