diff options
author | Miklos Vajna <vmiklos@collabora.com> | 2023-09-15 13:37:41 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.com> | 2023-09-15 15:30:20 +0200 |
commit | 2d43c34333076fad092f0cdc0f60f81580acdbee (patch) | |
tree | c18e6c61578949810aa71d56a1954c73cb6b06a8 /writerfilter/CppunitTest_writerfilter_dmapper.mk | |
parent | 17cd1dacf6a4b587b524edc7384ff26990208132 (diff) |
Related: tdf#55160 sw floattable, nested DOCX imp: fix inner tbl at cell start
The bugdoc has an outer table and also two inner tables: the problematic
one is the floating table anchored at the start of B1, which should
float but does not.
This special-casing was added in commit
c1eebcdac9f2b289fd363399130c485ca5ff444c (tdf#79329 DOCX import: fix
missing outer table with floattable at cell start, 2016-11-08), because
there was no easy way to make sure that an inner floating table at cell
start keeps the outer table import working, and having 2 inline tables
is better than having an inner floating table and no outer table at all.
The root of the problem is that in case an SwXParagraph tracks the outer
cell start and we have an inner floating table, then the inner
conversion to text frame will invalidate that SwXParagraph, so the outer
table conversion will fail.
Fix the problem by creating a cursor at cell start, moving it away,
performing the inner table resolution. And in case the cell start
SwXParagraph is now invalid, then move the cursor back and work with
that position.
The original bugdoc has 2 floating tables at cell start, which is still
broken, but this approach allows fixing that in a later commit; while
the old approach simply didn't notice that the 2nd floating table is
also at cell start.
Change-Id: Iedad7b2f023e88dfc5de7875ebc00320c2e6ad65
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156937
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
Diffstat (limited to 'writerfilter/CppunitTest_writerfilter_dmapper.mk')
-rw-r--r-- | writerfilter/CppunitTest_writerfilter_dmapper.mk | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/writerfilter/CppunitTest_writerfilter_dmapper.mk b/writerfilter/CppunitTest_writerfilter_dmapper.mk index 21808b1d1ffd..6b7611b41996 100644 --- a/writerfilter/CppunitTest_writerfilter_dmapper.mk +++ b/writerfilter/CppunitTest_writerfilter_dmapper.mk @@ -22,6 +22,7 @@ $(eval $(call gb_CppunitTest_add_exception_objects,writerfilter_dmapper, \ writerfilter/qa/cppunittests/dmapper/DomainMapper \ writerfilter/qa/cppunittests/dmapper/DomainMapper_Impl \ writerfilter/qa/cppunittests/dmapper/GraphicImport \ + writerfilter/qa/cppunittests/dmapper/TableManager \ writerfilter/qa/cppunittests/dmapper/TextEffectsHandler \ writerfilter/qa/cppunittests/dmapper/PropertyMap \ writerfilter/qa/cppunittests/dmapper/SdtHelper \ |