[Libreoffice-commits] core.git: Branch 'libreoffice-6-2' - sw/qa writerfilter/source

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Mon Jan 28 14:03:29 UTC 2019


 sw/qa/extras/ooxmlexport/data/tdf120511_eatenSection.docx |binary
 sw/qa/extras/ooxmlexport/ooxmlexport11.cxx                |   11 +++++++++++
 writerfilter/source/dmapper/DomainMapper.cxx              |    1 +
 writerfilter/source/dmapper/DomainMapper_Impl.hxx         |    3 +++
 4 files changed, 15 insertions(+)

New commits:
commit b761504aa81ac8e2f61ba87899a965de19dc35cc
Author:     Justin Luth <justin_luth at sil.org>
AuthorDate: Sat Dec 29 18:50:18 2018 +0300
Commit:     Miklos Vajna <vmiklos at collabora.com>
CommitDate: Mon Jan 28 15:03:06 2019 +0100

    tdf#120511 writerfilter: track inserted frame per section
    
    The logic using IsTextFrameInserted is worried about whether
    a frame has been inserted before a table *in this section*,
    so track frame's existence per section, not per document.
    
    Change-Id: I8aa8a695b89727832e65535adae3fc3c94f95be5
    Reviewed-on: https://gerrit.libreoffice.org/65720
    Tested-by: Jenkins
    Reviewed-by: Justin Luth <justin_luth at sil.org>
    (cherry picked from commit 6aeba04b31cc33135f84bd7ea38a04ee9faa14ec)
    Reviewed-on: https://gerrit.libreoffice.org/65722

diff --git a/sw/qa/extras/ooxmlexport/data/tdf120511_eatenSection.docx b/sw/qa/extras/ooxmlexport/data/tdf120511_eatenSection.docx
new file mode 100644
index 000000000000..6a6d6f17bae7
Binary files /dev/null and b/sw/qa/extras/ooxmlexport/data/tdf120511_eatenSection.docx differ
diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport11.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport11.cxx
index c9e569cece74..d9dd00a69fbd 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport11.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport11.cxx
@@ -488,6 +488,17 @@ DECLARE_OOXMLEXPORT_TEST(testTdf113258_noBeforeAutospacing, "tdf113258_noBeforeA
                          getProperty<sal_Int32>(xShape->getStart(), "ParaTopMargin"));
 }
 
+DECLARE_OOXMLEXPORT_TEST(testTdf120511_eatenSection, "tdf120511_eatenSection.docx")
+{
+    xmlDocPtr pXmlDoc = parseLayoutDump();
+    sal_Int32 nHeight = getXPath(pXmlDoc, "/root/page[1]/infos/prtBounds", "height").toInt32();
+    sal_Int32 nWidth  = getXPath(pXmlDoc, "/root/page[1]/infos/prtBounds", "width").toInt32();
+    CPPUNIT_ASSERT_MESSAGE( "Page1 is portrait", nWidth < nHeight );
+    nHeight = getXPath(pXmlDoc, "/root/page[2]/infos/prtBounds", "height").toInt32();
+    nWidth  = getXPath(pXmlDoc, "/root/page[2]/infos/prtBounds", "width").toInt32();
+    CPPUNIT_ASSERT_MESSAGE( "Page2 is landscape", nWidth > nHeight );
+}
+
 DECLARE_OOXMLEXPORT_TEST(testTdf104354, "tdf104354.docx")
 {
     uno::Reference<text::XTextRange> xShape(getShape(1), uno::UNO_QUERY);
diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx
index 5e9bed49044a..a44771dbd8ab 100644
--- a/writerfilter/source/dmapper/DomainMapper.cxx
+++ b/writerfilter/source/dmapper/DomainMapper.cxx
@@ -2883,6 +2883,7 @@ void DomainMapper::lcl_endSectionGroup()
             if (m_pImpl->GetIsDummyParaAddedForTableInSection())
                 m_pImpl->RemoveDummyParaForTableInSection();
         }
+        m_pImpl->SetIsTextFrameInserted( false );
         m_pImpl->PopProperties(CONTEXT_SECTION);
     }
 }
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.hxx b/writerfilter/source/dmapper/DomainMapper_Impl.hxx
index 02f029a4732c..6006d2465f13 100644
--- a/writerfilter/source/dmapper/DomainMapper_Impl.hxx
+++ b/writerfilter/source/dmapper/DomainMapper_Impl.hxx
@@ -605,8 +605,11 @@ public:
     bool GetIsFirstParagraphInShape() { return m_bIsFirstParaInShape; }
     void SetIsDummyParaAddedForTableInSection( bool bIsAdded );
     bool GetIsDummyParaAddedForTableInSection() { return m_bDummyParaAddedForTableInSection;}
+
+    /// Track if a textframe has been inserted into this section
     void SetIsTextFrameInserted( bool bIsInserted );
     bool GetIsTextFrameInserted() { return m_bTextFrameInserted;}
+
     void SetIsPreviousParagraphFramed( bool bIsFramed ) { m_bIsPreviousParagraphFramed = bIsFramed; }
     bool GetIsPreviousParagraphFramed() { return m_bIsPreviousParagraphFramed; }
     void SetParaSectpr(bool bParaSectpr);


More information about the Libreoffice-commits mailing list