diff options
authorMichael Weghorn <>2018-06-11 17:20:44 +0200
committerMichael Weghorn <>2018-06-12 20:15:05 +0200
commite8a46b0171a49e6b49a2e7b89c8bdfef84ef41ef (patch)
parentbfd0290977b0ae37b9644713d701fca31d88b973 (diff)
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: Tested-by: Jenkins <> Reviewed-by: Luboš Luňák <> (cherry picked from commit 89f896d2cfd84b711583f98a6343e9835a9aed11) Reviewed-on: Reviewed-by: Michael Weghorn <>
1 files changed, 2 insertions, 0 deletions
diff --git a/sw/source/uibase/dbui/dbmgr.cxx b/sw/source/uibase/dbui/dbmgr.cxx
index 9b29507fa46b..77e8297f8892 100644
--- a/sw/source/uibase/dbui/dbmgr.cxx
+++ b/sw/source/uibase/dbui/dbmgr.cxx
@@ -1550,6 +1550,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) )