diff options
author | Michael Stahl <Michael.Stahl@cib.de> | 2020-02-28 18:39:41 +0100 |
---|---|---|
committer | Michael Stahl <michael.stahl@cib.de> | 2020-03-02 10:47:04 +0100 |
commit | 068c133ac41c97652909b88c432e3b73010efc3e (patch) | |
tree | 96f9acf04cb72070d356e9eaac14a8555da25ffb /svx/source/svdraw/svdglev.cxx | |
parent | a0e8a42a45abc7e626346bf01903ed81a026287d (diff) |
sw: layout: fix wrongly positioned table rows in --convert-to pdf
If the document is loaded via UI, the first layout action is triggered
from resizing the Window and the table is positioned properly on the
first try.
If the document is loaded via --convert-to, only getRendererCount()
formats the content of the table, and the table is positioned 3 times
but its first row is only positioned 2 times.
The first time the table id="56" is positioned, the previous table
id="50" is at correct Y 5988 but its content isn't formatted yet, so its
height is almost 0 (just table's border etc.), so the table ends up at
y = 6271.
The second time the table id="56" is positioned, the previous table
id="50" is at wrong Y 7937 and its content is valid, so its height
is 1203, so the table ends up at y = 9140.
The third time the table id="56" is positioned, the previous table
id="50" is at correct Y 5988 and its content is valid, so its height
is 1203, so the table ends up at correct y = 7191 ... but the first
SwRowFrame remains at y = 9140 and is never repositioned, and the lower
rows are cut off (invisible).
Change SwTabFrame::MakeAll() so that a MakePos() that moves the table
itself does not leave the first SwRowFrame's position valid, which
should ensure that all rows are repositioned.
(And work around C++'s particularly unhelpful type system.)
This happens since the earliest version checked, OOo 3.3.
Change-Id: If3dfe1ffcb81e03aa4f4bffcf33a237f0c92bd08
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89735
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@cib.de>
Diffstat (limited to 'svx/source/svdraw/svdglev.cxx')
0 files changed, 0 insertions, 0 deletions