writerfilter/source/dmapper/PropertyMap.cxx |    9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

New commits:
commit 0ce586e1e50deeaf2ba210acc4fea08058f8b15c
Author:     Justin Luth <justin_l...@sil.org>
AuthorDate: Thu Nov 4 13:28:39 2021 +0200
Commit:     Justin Luth <justin_l...@sil.org>
CommitDate: Sat Nov 6 08:45:08 2021 +0100

    related tdf#136472 writerfilter: only copy even pages if used
    
    Allowing the use of Even pages is a document-level setting.
    So if the document does not allow the use of an even page,
    although we will read it in once (in order to preserve the contents)
    there is no point in copying it to every inheriting page style
    (especially if it contains large items like images).
    
    Change-Id: I22ccb16e29c5335e50010f8a334494aaa1d45785
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124437
    Tested-by: Justin Luth <justin_l...@sil.org>
    Reviewed-by: Justin Luth <justin_l...@sil.org>

diff --git a/writerfilter/source/dmapper/PropertyMap.cxx 
b/writerfilter/source/dmapper/PropertyMap.cxx
index 393d49839cc9..dc833c363571 100644
--- a/writerfilter/source/dmapper/PropertyMap.cxx
+++ b/writerfilter/source/dmapper/PropertyMap.cxx
@@ -957,6 +957,7 @@ void SectionPropertyMap::CopyLastHeaderFooter( bool 
bFirstPage, DomainMapper_Imp
     SectionPropertyMap* pLastContext = rDM_Impl.GetLastSectionContext();
     if ( pLastContext )
     {
+        const bool bUseEvenPages = 
rDM_Impl.GetSettingsTable()->GetEvenAndOddHeaders();
         uno::Reference< beans::XPropertySet > xPrevStyle = 
pLastContext->GetPageStyle( rDM_Impl,
             bFirstPage );
         uno::Reference< beans::XPropertySet > xStyle = GetPageStyle( rDM_Impl,
@@ -971,10 +972,10 @@ void SectionPropertyMap::CopyLastHeaderFooter( bool 
bFirstPage, DomainMapper_Imp
         else
         {
             CopyHeaderFooter( xPrevStyle, xStyle,
-                !m_bDefaultHeaderLinkToPrevious,
-                !m_bEvenPageHeaderLinkToPrevious,
-                !m_bDefaultFooterLinkToPrevious,
-                !m_bEvenPageFooterLinkToPrevious );
+                             !m_bDefaultHeaderLinkToPrevious,
+                             !(m_bEvenPageHeaderLinkToPrevious && 
bUseEvenPages),
+                             !m_bDefaultFooterLinkToPrevious,
+                             !(m_bEvenPageFooterLinkToPrevious && 
bUseEvenPages));
         }
     }
     SAL_INFO( "writerfilter", "END>>> 
SectionPropertyMap::CopyLastHeaderFooter()" );

Reply via email to