sw/qa/extras/layout/data/tdf88496.docx |binary sw/qa/extras/layout/layout.cxx | 9 +++++++++ sw/source/core/layout/tabfrm.cxx | 8 ++++++++ 3 files changed, 17 insertions(+)
New commits: commit db3191f408fa2d04bf5870ea2c117e75d410ab5f Author: László Németh <nem...@numbertext.org> AuthorDate: Thu Aug 6 14:46:08 2020 +0200 Commit: László Németh <nem...@numbertext.org> CommitDate: Fri Aug 7 09:32:23 2020 +0200 tdf#130639 sw layout: fix table position at fallback "switch off repeating header" by removing temporary page break immediately. Follow-up of commit f7e071a00542c414a7e9d7bcf4434d908f225e59 (tdf#88496 DOCX: disable long repeating table header). Change-Id: I3ae62456fd50f3f3fa25bfea5326a8eb9bef01c6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100245 Tested-by: Jenkins Reviewed-by: László Németh <nem...@numbertext.org> diff --git a/sw/qa/extras/layout/data/tdf88496.docx b/sw/qa/extras/layout/data/tdf88496.docx new file mode 100644 index 000000000000..b34f30389e2f Binary files /dev/null and b/sw/qa/extras/layout/data/tdf88496.docx differ diff --git a/sw/qa/extras/layout/layout.cxx b/sw/qa/extras/layout/layout.cxx index 28e4bd568c22..88f0d3802b94 100644 --- a/sw/qa/extras/layout/layout.cxx +++ b/sw/qa/extras/layout/layout.cxx @@ -467,6 +467,15 @@ CPPUNIT_TEST_FIXTURE(SwLayoutWriter, TestTdf134272) assertXPath(pXmlDoc, "/root/page[1]/header/txt[2]/infos/bounds", "bottom", "2819"); } +CPPUNIT_TEST_FIXTURE(SwLayoutWriter, testTdf88496) +{ + SwDoc* pDoc = createDoc("tdf88496.docx"); + CPPUNIT_ASSERT(pDoc); + xmlDocUniquePtr pXmlDoc = parseLayoutDump(); + // This was 4, table fallback "switch off repeating header" started on a new page + assertXPath(pXmlDoc, "/root/page", 3); +} + CPPUNIT_TEST_FIXTURE(SwLayoutWriter, testRedlineFlysInHeader) { loadURL("private:factory/swriter", nullptr); diff --git a/sw/source/core/layout/tabfrm.cxx b/sw/source/core/layout/tabfrm.cxx index 961c1c94171e..a81b7f1c198c 100644 --- a/sw/source/core/layout/tabfrm.cxx +++ b/sw/source/core/layout/tabfrm.cxx @@ -2494,6 +2494,14 @@ void SwTabFrame::MakeAll(vcl::RenderContext* pRenderContext) } const bool bSplitError = !Split( nDeadLine, bTryToSplit, ( bTableRowKeep && !(bAllowSplitOfRow || bEmulateTableKeepSplitAllowed) ) ); + + // tdf#130639 don't start table on a new page after the fallback "switch off repeating header" + if (bSplitError && nRepeat > GetTable()->GetRowsToRepeat()) + { + setFrameAreaPositionValid(false); + break; + } + if (!bTryToSplit && !bSplitError) { --nUnSplitted; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits