diff options
author | Michael Stahl <Michael.Stahl@cib.de> | 2018-09-18 16:21:44 +0200 |
---|---|---|
committer | Michael Stahl <Michael.Stahl@cib.de> | 2018-09-19 10:08:55 +0200 |
commit | f62ba688ca1c22fcdcf7efd811d702e982799882 (patch) | |
tree | b0b58daa34da816da3376864d43fe5bd50a441b9 /sw/source/core/doc/DocumentFieldsManager.cxx | |
parent | 18dbdd512b11c02b2b5c8d28355a4d2188003d46 (diff) |
sw: rework annoying GetFrameOfModify/getLayoutFrame parameters
private/mst/sw_redlinehide_2
The bCalcFrame is only evaluated if a pPoint is given; this is
surprising and should be more visible in the interface, so people don't
go on a goose chase to find places that may do formatting in
inappropriate places.
So put these parameters into a pair instead, which doesn't have
particularly good ergonomics in C++, particularly since compilers
warn about taking the address of a temporary object...
Change-Id: I101c6eeb5bd6baf83c2bd9a6cb91ccaa04036cc3
Diffstat (limited to 'sw/source/core/doc/DocumentFieldsManager.cxx')
-rw-r--r-- | sw/source/core/doc/DocumentFieldsManager.cxx | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/sw/source/core/doc/DocumentFieldsManager.cxx b/sw/source/core/doc/DocumentFieldsManager.cxx index c683895e9543..74d2c41b0fd4 100644 --- a/sw/source/core/doc/DocumentFieldsManager.cxx +++ b/sw/source/core/doc/DocumentFieldsManager.cxx @@ -713,7 +713,10 @@ void DocumentFieldsManager::UpdateTableFields( SfxPoolItem* pHt ) { // is in the special section, that's expensive! Point aPt; // return the first frame of the layout - Tab.Headline!! - pFrame = rTextNd.getLayoutFrame( m_rDoc.getIDocumentLayoutAccess().GetCurrentLayout(), &aPt ); + std::pair<Point, bool> const tmp(aPt, true); + pFrame = rTextNd.getLayoutFrame( + m_rDoc.getIDocumentLayoutAccess().GetCurrentLayout(), + nullptr, &tmp); if( pFrame ) { SwPosition aPos( *pTableNd ); @@ -783,7 +786,10 @@ void DocumentFieldsManager::UpdateTableFields( SfxPoolItem* pHt ) if( !pCNd ) pCNd = m_rDoc.GetNodes().GoNext( &aCNdIdx ); - if( pCNd && nullptr != (pFrame = pCNd->getLayoutFrame( m_rDoc.getIDocumentLayoutAccess().GetCurrentLayout(), &aPt )) ) + std::pair<Point, bool> const tmp(aPt, true); + if (pCNd && nullptr != (pFrame = pCNd->getLayoutFrame( + m_rDoc.getIDocumentLayoutAccess().GetCurrentLayout(), + nullptr, &tmp))) { SwPosition aPos( *pCNd ); if( GetBodyTextNode( m_rDoc, aPos, *pFrame ) ) |