This bug is meant to document the efforts around multi-page floating tables in Writer. Progress so far was documented in bug 155118, but many related problems are still there.
https://gerrit.libreoffice.org/c/core/+/156632 is about nested tables, the layout now handles one bugdoc correctly when opening interactively.
https://gerrit.libreoffice.org/c/core/+/156691 nested tables are now exported to PDF correctly.
https://gerrit.libreoffice.org/c/core/+/156810 fixes nested floating tables vs overlap support
https://gerrit.libreoffice.org/c/core/+/156833 adds DOCX export for nested floating tables
https://gerrit.libreoffice.org/c/core/+/156865 adds DOCX import for nested floating tables
https://gerrit.libreoffice.org/c/core/+/156904 adds DOCX export for nested floating tables when the inner one is at cell start
https://gerrit.libreoffice.org/c/core/+/156937 adds DOCX import for nested floating tables when the inner one is at cell start
https://gerrit.libreoffice.org/c/core/+/157006 finishes bug 55160, 2 floattables starting at cell start
https://gerrit.libreoffice.org/c/core/+/157039 fixes bug 157005, unexpected overlapping text while editing
Created attachment 189710 [details] Reproducer document Next problem, steps to reproduce: 1) Go to page 2, at the start of "He tried" 2) Press enter 4 times, so far so good. 3) Press enter for the 5th time. Actual result: the table split chain is pages 1 -> 4 -> 2. Expected result: the table fits 2 pages: pages 2 -> 3. Note that the same 2 -> 3 layout is generated by Word by inserting empty paragraphs at the start of the document.
https://gerrit.libreoffice.org/c/core/+/157133 is meant to fix the problem from comment 10.
Miklos Vajna committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/commit/cfe9c68a7a19dd77d1fcbde3a7dd75730634becc tdf#157119 sw floattable: fix moving master of split fly to next page It will be available in 24.2.0. The patch should be included in the daily builds available at https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: https://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Created attachment 189761 [details] Simplified reproducer Simplified reproducer for bug 157263, which shows that this happens even without floating tables, though I made the problem more visible.
https://gerrit.libreoffice.org/c/core/+/157233 is meant to fix 157263 (missing join for multi-page table)
Created attachment 189821 [details] 2 tables reproducer for bug 126449 I've started on bug 126449, which is some complicated DOC file. Here is a stripped down DOCX version that just has an inline outer table and a floating inner table. Even this is broken, but this is easier to debug, I hope.
Miklos Vajna committed a patch related to this issue. It has been pushed to "libreoffice-7-6": https://git.libreoffice.org/core/commit/93a646ddf74ada0bc96107310d50c3da3a4343bc tdf#157119 sw floattable: fix moving master of split fly to next page It will be available in 7.6.3. The patch should be included in the daily builds available at https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: https://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
https://gerrit.libreoffice.org/c/core/+/157306 does a first fix for bug 126449, floating table on pages 2 & 3 inside an inline table on pages 1 & 2 & 3 are now laid out OK.
https://gerrit.libreoffice.org/c/core/+/157347 fixes some warnings on file load, so the remaining warnings are more useful. Still towards fixing bug 126449.
https://gerrit.libreoffice.org/c/core/+/157393 is fix 2 for bug 126449, still needs more work.
Created attachment 189940 [details] Second reproducer for bug 126449 The next problem with this bugdoc is that now we have an outer inline table, a middle inline table and an inner floating table. The floating table should be on pages 2 -> 3 -> 4, but for some reason the fly frame of page 4 is still on page 3, leading to overlapping text.
https://gerrit.libreoffice.org/c/core/+/157507 the DOCX version of the bug 126449 document now looks OK, DOC needs more work.
https://gerrit.libreoffice.org/c/core/+/157550 is the DOC-specific fix for bug 126449, I think I'm done there.
https://gerrit.libreoffice.org/c/core/+/157577 fixes fdo56210-3.docx from crashtesting.
https://gerrit.libreoffice.org/c/core/+/157691 fixes fdo45193-1.docx from crashtesting, needed to fix bug 157571
https://gerrit.libreoffice.org/c/core/+/157743 fixes bug 157571, regression in table render code, from floating table work.
https://gerrit.libreoffice.org/c/core/+/157803 fixes ooo91654-1.doc from crashtesting, regression from this work.
https://gerrit.libreoffice.org/c/core/+/157855 starts adding doc model + uno api support for the Word allowTextAfterFloatingTableBreak compat flag to wrap on all pages, not just the last one.
https://gerrit.libreoffice.org/c/core/+/157902 adds layout for "wrap on all pages", no DOCX import/export yet.
https://gerrit.libreoffice.org/c/core/+/158013 adds DOCX filter for "wrap on all pages".
https://gerrit.libreoffice.org/c/core/+/158069 adds a missing test before doing changes for bug 157573
https://gerrit.libreoffice.org/c/core/+/158103 fixes bug 157573
Created attachment 190290 [details] Smaller reproducer for bug 157590 The original document for bug 157590 is a monster, this one is smaller and still triggers the bug.
https://gerrit.libreoffice.org/c/core/+/158228 finishes bug 157590, the rowspan + nested floating table case.
https://gerrit.libreoffice.org/c/core/+/158372 fixes bug 155040, unexpected overlapping text in RTF (regression)
https://gerrit.libreoffice.org/c/core/+/158413 fixes bug 155682, layout loop due to floating table overlapping with body text in an unexpected way.
https://gerrit.libreoffice.org/c/core/+/158414 is a small late fix for bug 157590, originally fixed last week.
https://gerrit.libreoffice.org/c/core/+/158520 fixes the layout loop reported in bug 99822
Let's continue in bug 158081.