sw/qa/extras/ooxmlexport/ooxmlexport15.cxx |   15 ++++++++++++++-
 sw/source/filter/ww8/wrtw8sty.cxx          |    4 ++--
 2 files changed, 16 insertions(+), 3 deletions(-)

New commits:
commit 5a234ba7f02660ab770f2744d0b936e5607ddafe
Author:     Justin Luth <justin.l...@collabora.com>
AuthorDate: Fri Aug 28 15:00:48 2020 +0300
Commit:     Justin Luth <justin_l...@sil.org>
CommitDate: Thu Sep 24 19:18:31 2020 +0200

    tdf#132149 ww8export: use left page properties for left style
    
    This code was unchanged since original import from OOo.
    
    There is some monkey business going on here to handle left/right
    page styles following each other. Normally, the settings
    between these pages would be identical in terms
    of margins and page size etc. But not necessarily so.
    
    So, make sure that for the left style, use the format properties
    from the left style before switching over to the right style
    to grab its header/footer.
    
    [At least, that is how I understand what is happening...]
    
    Change-Id: Idc65a14fb39566e05d32d677c90e68971d77590c
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101544
    Tested-by: Jenkins
    Reviewed-by: Justin Luth <justin_l...@sil.org>

diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport15.cxx 
b/sw/qa/extras/ooxmlexport/ooxmlexport15.cxx
index 09f847b64b2a..dfce2901c59a 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport15.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport15.cxx
@@ -519,11 +519,24 @@ 
DECLARE_OOXMLEXPORT_TEST(testTdf135343_columnSectionBreak_c15, "tdf135343_column
 
 DECLARE_OOXMLEXPORT_TEST(testTdf132149_pgBreak, "tdf132149_pgBreak.odt")
 {
+    // This 5 page document is designed to visually exaggerate the problems
+    // of emulating LO's followed-by-page-style into MSWord's sections.
+    // While much has been improved, there are extra pages present, which 
still need fixing.
     xmlDocUniquePtr pDump = parseLayoutDump();
 
-    // No header on pages 1,2,3 (and currently 4).
+    // No header on pages 1,2,3.
     assertXPath(pDump, "//page[2]/header", 0);
 
+    // Margins/page orientation between Right and Left page styles are 
different
+    assertXPath(pDump, "//page[1]/infos/prtBounds", "left", "1134");  //Right 
page style
+    assertXPath(pDump, "//page[2]/infos/prtBounds", "left", "2268");  //Left 
page style
+
+    assertXPath(pDump, "//page[1]/infos/bounds", "width", "8391");  //landscape
+    assertXPath(pDump, "//page[2]/infos/bounds", "width", "5953");  //portrait
+    // This two-line 3rd page ought not to exist. DID YOU FIX ME? The real 
page 3 should be "8391" landscape.
+    assertXPath(pDump, "//page[3]/infos/bounds", "width", "5953");
+
+
     //Page break is not lost. This SHOULD be on page 4, but sadly it is not.
     assertXPathContent(pDump, "//page[5]/header/txt", "First Page Style");
     CPPUNIT_ASSERT(getXPathContent(pDump, 
"//page[5]/body/txt").startsWith("Lorem ipsum"));
diff --git a/sw/source/filter/ww8/wrtw8sty.cxx 
b/sw/source/filter/ww8/wrtw8sty.cxx
index 0e7830ccfb04..5f4c31d9bc99 100644
--- a/sw/source/filter/ww8/wrtw8sty.cxx
+++ b/sw/source/filter/ww8/wrtw8sty.cxx
@@ -1775,8 +1775,8 @@ void MSWordExportBase::SectionProperties( const 
WW8_SepInfo& rSepInfo, WW8_PdAtt
             if ( UseOnPage::Left == ( UseOnPage::All & pPd->ReadUseOn() ) )
             {
                 nBreakCode = 3;
-                pPd = pPd->GetFollow();
-                pPdFormat = &pPd->GetMaster();
+                pPdFormat = &pPd->GetMaster();  //use the current page for 
settings (margins/width etc)
+                pPd = pPd->GetFollow(); //switch to the right page for the 
right/odd header/footer
             }
             else
                 nBreakCode = 4;
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to