[Libreoffice-commits] core.git: sw/source

Bjoern Michaelsen bjoern.michaelsen at libreoffice.org
Tue Sep 19 23:05:06 UTC 2017


 sw/source/core/layout/frmtool.cxx |   10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

New commits:
commit e73961022d8efda407c3f5ed806f78bb7cc0e0b4
Author: Bjoern Michaelsen <bjoern.michaelsen at libreoffice.org>
Date:   Tue Sep 19 07:46:50 2017 +0200

    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 at libreoffice.org>
    Reviewed-by: Björn Michaelsen <bjoern.michaelsen at libreoffice.org>

diff --git a/sw/source/core/layout/frmtool.cxx b/sw/source/core/layout/frmtool.cxx
index 5a238580ac42..e45e558f20ee 100644
--- a/sw/source/core/layout/frmtool.cxx
+++ b/sw/source/core/layout/frmtool.cxx
@@ -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;


More information about the Libreoffice-commits mailing list