diff options
| author | Miklos Vajna <vmiklos@collabora.com> | 2026-03-18 16:29:18 +0100 |
|---|---|---|
| committer | Miklos Vajna <vmiklos@collabora.com> | 2026-03-19 12:52:50 +0100 |
| commit | f7faa162c274df921fdb431ddab7c74d26f9c1cf (patch) | |
| tree | 78fc3410e1d082d1864f1a1438d604cab888bb3f /icon-themes/colibre/cmd/32/dia.png | |
| parent | e3d53a16462f579b4a9c60375849b8f092388de5 (diff) | |
tdf#171387 sw floattable, DOCX import: avoid hang with 3 nested floating tablesHEADmaster
Regression from commit 5dc4ab7e3a071133b08db1c234eac6e6c253516e
(tdf#157119 sw floattable: fix moving master of split fly to next page,
2023-09-22), Writer layout went into a loop on opening the bugdoc.
There are multiple problems here at a Writer layout level, if the actual
feature of having 3 nested floating tables would have to work across
pages: first there is some oscillation around borders (+- 10 twips for
the calculated fly position, which looks like the border width of the
table), and then later a lot of new fly frames are created, even if
SwFrame::GetNextFlyLeaf() has code to reuse existing follows. These need
addressing if the actual feature of multi-nesting floating tables are
wanted.
However, the primary problem is that that the document doesn't open and
in practice the inner table needs no wrapping, it's nominally a floating
table probably by accident. So fix this at a DOCX tokenizer level: if a
floating table has multiple parents, then the inner table itself should
be inline, till Writer layout lacks the feature to work with this model.
A further alternative would be to fix this in
sw/source/writerfilter/dmapper/, but our import processes inner tables
first, so by the time we need to decide if the inner table should be
floating or not, dmapper doesn't have the info if the parent tables will
be floating or not, so that is not the right place to implement the DOCX
import change.
Change-Id: I32ac8d1c7c9b372bed32b56eb22f41c2d0f8925d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/202149
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
Diffstat (limited to 'icon-themes/colibre/cmd/32/dia.png')
0 files changed, 0 insertions, 0 deletions
