dev/null |binary sw/qa/extras/ooxmlexport/ooxmlexport18.cxx | 15 --------------- writerfilter/source/dmapper/DomainMapper.cxx | 5 +---- writerfilter/source/dmapper/DomainMapper_Impl.cxx | 13 ------------- writerfilter/source/dmapper/DomainMapper_Impl.hxx | 3 --- 5 files changed, 1 insertion(+), 35 deletions(-)
New commits: commit 06702d8474bdac71fa2a61723ea476e888fc91d6 Author: Justin Luth <justin.l...@collabora.com> AuthorDate: Thu Oct 5 07:24:56 2023 -0400 Commit: Xisco Fauli <xiscofa...@libreoffice.org> CommitDate: Thu Oct 5 21:17:04 2023 +0200 tdf#157574 Revert "tdf#153613 tdf#146984 split para after anchors" This reverts 7.6 commit 828fde37632a5bb0542b6925454690a5287d6490. and also reverts the dependent parts of the follow-up test from commit 828fde37632a5bb0542b6925454690a5287d6490 (although the patch itself is fine to remain in place) and also reverts followup "cid#1522030 Uninitialized scalar field" commit 9a123a6e63600ba3998d22bbc300ac4b65b3da2c. The commit in general is fine. However, it fails in case of an empty paragraph (with only anchors). Unfortunately, there is no way of knowing ahead of time, so either everything needs to be processed after a delay, or else the paragraph needs to be split and then re-joined in case it is not an empty paragraph. Both options are extremely non-trivial - I don't know how to do either of them. Change-Id: I9e98d825ad0008e822172b6797116ad16e90b871 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157593 Tested-by: Jenkins Reviewed-by: Justin Luth <jl...@mail.com> (cherry picked from commit bd18618aae500d01e665d8af07067bb99a491850) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157615 diff --git a/sw/qa/extras/ooxmlexport/data/tdf153613_textboxAfterPgBreak3.docx b/sw/qa/extras/ooxmlexport/data/tdf153613_textboxAfterPgBreak3.docx deleted file mode 100644 index a282deaa0ad7..000000000000 Binary files a/sw/qa/extras/ooxmlexport/data/tdf153613_textboxAfterPgBreak3.docx and /dev/null differ diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport18.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport18.cxx index 62dc42dba5af..04c5789c19c6 100644 --- a/sw/qa/extras/ooxmlexport/ooxmlexport18.cxx +++ b/sw/qa/extras/ooxmlexport/ooxmlexport18.cxx @@ -193,11 +193,6 @@ DECLARE_OOXMLEXPORT_TEST(testTdf146984_anchorInShape, "tdf146984_anchorInShape.d { // This was only one page b/c the page break was missing. CPPUNIT_ASSERT_EQUAL(2, getPages()); - - const auto& pLayout = parseLayoutDump(); - // There are shapes on both pages - these should be non-zero numbers - assertXPath(pLayout, "//page[1]//anchored", 3); - assertXPath(pLayout, "//page[2]//anchored", 2); } DECLARE_OOXMLEXPORT_TEST(testTdf127622_framePr, "tdf127622_framePr.docx") @@ -377,16 +372,6 @@ DECLARE_OOXMLEXPORT_TEST(testTdf153613_textboxAfterPgBreak2, "tdf153613_textboxA assertXPathContent(pLayout, "//page[2]/body/txt", "There should be no prior carriage return."); } -DECLARE_OOXMLEXPORT_TEST(testTdf153613_textboxAfterPgBreak3, "tdf153613_textboxAfterPgBreak3.docx") -{ - // All anchored TO-character shapes stay on the first page, before the page break. - CPPUNIT_ASSERT_EQUAL(2, getPages()); - CPPUNIT_ASSERT_EQUAL(3, getParagraphs()); - - const auto& pLayout = parseLayoutDump(); - assertXPath(pLayout, "//page[2]//anchored", 0); -} - DECLARE_OOXMLEXPORT_TEST(testTdf153613_sdtAfterPgBreak, "tdf153613_sdtAfterPgBreak.docx") { CPPUNIT_ASSERT_EQUAL(2, getPages()); diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx index e6a7e1dfde9e..148bb98eaf42 100644 --- a/writerfilter/source/dmapper/DomainMapper.cxx +++ b/writerfilter/source/dmapper/DomainMapper.cxx @@ -3742,7 +3742,7 @@ void DomainMapper::lcl_startShape(uno::Reference<drawing::XShape> const& xShape) { // If there is a deferred page break, handle it now, so that the // started shape will be on the correct page. - if (m_pImpl->isBreakDeferred(PAGE_BREAK) && !m_pImpl->IsBreakDeferredByAnchor()) + if (m_pImpl->isBreakDeferred(PAGE_BREAK)) { // RTF doesn't properly report IsFirstRun, so in order to prevent regressions // always split the paragraph for RTF since that is the way it has been done lately. @@ -3752,9 +3752,6 @@ void DomainMapper::lcl_startShape(uno::Reference<drawing::XShape> const& xShape) finishParagraph(); lcl_startParagraphGroup(); } - else - m_pImpl->SetIsBreakDeferredByAnchor(); - } m_pImpl->PushShapeContext( xShape ); lcl_startParagraphGroup(); diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx index 2bf742d3bf1c..1a8f44d8562c 100644 --- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx +++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx @@ -334,7 +334,6 @@ DomainMapper_Impl::DomainMapper_Impl( m_bIsColumnBreakDeferred( false ), m_bIsPageBreakDeferred( false ), m_nLineBreaksDeferred( 0 ), - m_bIsBreakDeferredByAnchor(false), m_bSdtEndDeferred(false), m_bParaSdtEndDeferred(false), m_bStartTOC(false), @@ -1593,7 +1592,6 @@ void DomainMapper_Impl::clearDeferredBreak(BreakType deferredBreakType) break; case PAGE_BREAK: m_bIsPageBreakDeferred = false; - m_bIsBreakDeferredByAnchor = false; break; default: break; @@ -1605,17 +1603,6 @@ void DomainMapper_Impl::clearDeferredBreaks() m_nLineBreaksDeferred = 0; m_bIsColumnBreakDeferred = false; m_bIsPageBreakDeferred = false; - m_bIsBreakDeferredByAnchor = false; -} - -bool DomainMapper_Impl::IsBreakDeferredByAnchor() -{ - return m_bIsBreakDeferredByAnchor; -} - -void DomainMapper_Impl::SetIsBreakDeferredByAnchor() -{ - m_bIsBreakDeferredByAnchor = true; } void DomainMapper_Impl::setSdtEndDeferred(bool bSdtEndDeferred) diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.hxx b/writerfilter/source/dmapper/DomainMapper_Impl.hxx index b2fca78f45fe..98afd6b0f32c 100644 --- a/writerfilter/source/dmapper/DomainMapper_Impl.hxx +++ b/writerfilter/source/dmapper/DomainMapper_Impl.hxx @@ -466,7 +466,6 @@ private: bool m_bIsColumnBreakDeferred; bool m_bIsPageBreakDeferred; sal_Int32 m_nLineBreaksDeferred; - bool m_bIsBreakDeferredByAnchor; /// If we want to set "sdt end" on the next character context. bool m_bSdtEndDeferred; /// If we want to set "paragraph sdt end" on the next paragraph context. @@ -737,8 +736,6 @@ public: bool isBreakDeferred( BreakType deferredBreakType ); void clearDeferredBreaks(); void clearDeferredBreak(BreakType deferredBreakType); - bool IsBreakDeferredByAnchor(); - void SetIsBreakDeferredByAnchor(); void setSdtEndDeferred(bool bSdtEndDeferred); bool isSdtEndDeferred() const;