no need to queue formats in header and footer ...

- we can call MakeFrames on them right away
- as there had been performance issues on mail merge here before, this
  might a bit quicker for suoer large documents.

Change-Id: Idd84d7e6a962d00d59e2981f63ed9db60377fa01
Reviewed-on: https://gerrit.libreoffice.org/42442
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Björn Michaelsen <bjoern.michaelsen@libreoffice.org>
This commit is contained in:
Bjoern Michaelsen
2017-09-19 07:46:50 +02:00
committed by Björn Michaelsen
parent ce2fce9a41
commit e73961022d

View File

@@ -1100,14 +1100,18 @@ void AppendAllObjs(const SwFrameFormats* pTable, const SwFrame* pSib)
// Formats can still remain, because we neither use character bound
// frames nor objects which are anchored to character bounds.
if ((rAnch.GetAnchorId() != RndStdIds::FLY_AT_PAGE) && (rAnch.GetAnchorId() != RndStdIds::FLY_AS_CHAR))
vFormatsToConnect.push_back(pFormat);
{
if(lcl_InHeaderOrFooter(*pFormat))
pFormat->MakeFrames();
else
vFormatsToConnect.push_back(pFormat);
}
}
const SwFrameFormat* pFirstRequeued(nullptr);
while(!vFormatsToConnect.empty())
{
auto& pFormat = vFormatsToConnect.front();
const bool bAlreadyConnected(lcl_ObjConnected(pFormat, pSib));
if(!bAlreadyConnected || lcl_InHeaderOrFooter(*pFormat))
if(!lcl_ObjConnected(pFormat, pSib))
{
pFormat->MakeFrames();
pFirstRequeued = nullptr;