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

Michael Weghorn m.weghorn at posteo.de
Tue Jun 12 12:07:28 UTC 2018


 sw/source/uibase/dbui/dbmgr.cxx |    2 ++
 1 file changed, 2 insertions(+)

New commits:
commit 89f896d2cfd84b711583f98a6343e9835a9aed11
Author: Michael Weghorn <m.weghorn at posteo.de>
Date:   Mon Jun 11 17:20:44 2018 +0200

    tdf#118113 MM: Make sure page count is up to date
    
    Since the page layout may have changed, e.g. due to
    the visibility status of hidden sections having changed
    in the call to 'pWorkShell->SwViewShell::UpdateFields()',
    it's necessary to recalculate the layout to ensure that
    the correct page count is retrieved when calling
    'pWorkShell->CalcLayout()'.
    
    This fixes a regression introduced by the performance
    optimization done in commit
    ae5afe9bcebdd220a457829d47882fe8a0cf69fd, while
    still avoiding to have to do the expensive layout for the
    target document.
    
    Change-Id: I46f1b68758e4df330c17358a8e852e8b040a9520
    Reviewed-on: https://gerrit.libreoffice.org/55636
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Luboš Luňák <l.lunak at collabora.com>

diff --git a/sw/source/uibase/dbui/dbmgr.cxx b/sw/source/uibase/dbui/dbmgr.cxx
index 54e678280616..6d8694e905df 100644
--- a/sw/source/uibase/dbui/dbmgr.cxx
+++ b/sw/source/uibase/dbui/dbmgr.cxx
@@ -1502,6 +1502,8 @@ bool SwDBManager::MergeMailFiles(SwWrtShell* pSourceShell,
                     ++targetDocPageCount; // Docs always start on odd pages (so offset must be even).
                 SwNodeIndex appendedDocStart = pTargetDoc->AppendDoc( *pWorkDoc,
                     nStartingPageNo, !bWorkDocInitialized, targetDocPageCount, nDocNo);
+                // ensure layout is up to date in order to get correct page count
+                pWorkShell->CalcLayout();
                 targetDocPageCount += pWorkShell->GetPageCnt();
 
                 if ( (nMaxDumpDocs < 0) || (nDocNo <= nMaxDumpDocs) )


More information about the Libreoffice-commits mailing list