summaryrefslogtreecommitdiff
path: root/sw/source/core/doc/DocumentFieldsManager.cxx
diff options
context:
space:
mode:
authorMichael Stahl <Michael.Stahl@cib.de>2018-09-18 16:21:44 +0200
committerMichael Stahl <Michael.Stahl@cib.de>2018-09-19 10:08:55 +0200
commitf62ba688ca1c22fcdcf7efd811d702e982799882 (patch)
treeb0b58daa34da816da3376864d43fe5bd50a441b9 /sw/source/core/doc/DocumentFieldsManager.cxx
parent18dbdd512b11c02b2b5c8d28355a4d2188003d46 (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.cxx10
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 ) )