diff options
author | Michael Stahl <michael.stahl@allotropia.de> | 2024-05-15 14:43:10 +0200 |
---|---|---|
committer | Michael Stahl <michael.stahl@allotropia.de> | 2024-05-15 17:58:21 +0200 |
commit | 534d3818aedfa95ad73935235462f5ec2817f5da (patch) | |
tree | f0d37aafef409e9521d778b79db608866aa31d96 /xmlsecurity/source/helper | |
parent | 82dd81a9d2049ac95535880fc67c1867f90e1427 (diff) |
tdf#160897 sw: layout: fail SwTabFrame::Split on footnote overlap
The bugdoc has a table in a section, and the cells contain many
footnotes.
Somehow commit c303981cfd95ce1c3881366023d5495ae2edce97 introduced some
layout looping, and it also looks worse than in 7.5.
During lcl_RecalcRow(rLastLine) it may happen that first some footnotes
are moved off the page, then the table/section grow during text
formatting, then the footnotes are moved back onto the page, so the
footnote container is the same size as before, the body is the same size
as before (because it shrinks whenever the footnote container grows),
but the section and table don't fit into the body any more.
This fixes the layout loops, and also there are no visible overlaps of
body(table) and footnotes any more; however, the layout is obviously not
perfect, many footnotes are on the wrong page and there are some gaps of
empty space on some pages, but at least none of the footnotes are
numbered "0" any more.
In 7.5, there was overlap of the body and the footnotes on page 1 and 3,
and also the irritating effect that moving the mouse over
the bottom of page 3 would relayout the document multiple times...
Some other ideas that don't work:
* it doesn't help to call Shrink() on the section frame, because it has
ToMaximize() and does not actually shrink.
* one aspect of the loop is that the section is always size-invalidated
even when it doesn't change its size during SwTabFormat::MakeAll()
and the idea was to detect this (invalidation flag set on upper but
same area as before) and reset the flag, but this prevents shrinking
the section to fit on the page
Change-Id: I6074b5c2615a0d7f613edebe92b5350efdd7fe02
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167693
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
Diffstat (limited to 'xmlsecurity/source/helper')
0 files changed, 0 insertions, 0 deletions