diff options
author | Miklos Vajna <vmiklos@collabora.com> | 2023-04-26 11:44:43 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.com> | 2023-04-26 14:58:51 +0200 |
commit | 73bada774ef37efd5a4498ccc083b1358314557d (patch) | |
tree | d51922818238753c10c84339b84073f13b358584 /unotools | |
parent | 4348f878284b53fa4e8ca670a8461a30ad0cba70 (diff) |
sw floattable, crashtesting: fix PDF export of fdo72790-1.docx, part 3
Converting the bugdoc to PDF crashed Writer layout since commit
ce3308a926f036b87515b8cd97d2b197063dc77a (tdf#61594 sw floattable:
import floating tables as split flys by default, 2023-04-12).
Part 1 already fixed the crash, but a layout loop remains. The current
problem is that we could have a document of 3 pages where the last page
had no anchor for the fly frame, so it took the anchor from the previous
page, but this lead to negative frame heights and at the end an empty
3rd page.
To fix the problem:
1) Make sure SwTextFrame::FormatAdjust() doesn't break the invariant
that only the last frame of a floattable anchor has text content.
2) Make sure SwTextFrame::AdjustFollow_() doesn't join a frame that
still hosts non-last split flys.
With this, we have exactly 3 anchor frames (in a flow frame chain) for
the 3 pages and the 3rd page looks correct. The original document still
needs more work to fix the layout loop, though.
Change-Id: I2fc9c4728fdf191ac5b5b435a10d553a699bae75
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151048
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
Diffstat (limited to 'unotools')
0 files changed, 0 insertions, 0 deletions