diff options
author | Szabolcs Toth <szabolcs450@gmail.com> | 2019-12-17 16:06:30 +0100 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.com> | 2021-03-04 18:25:08 +0100 |
commit | b7b56492239d7ace4a9dce45aefbabfd00f0e7b8 (patch) | |
tree | 3a099d14aa1f6adb9bc41d6367590467899f9191 | |
parent | tdf#129442 DOCX import: fix right border of 1-column tables (diff) | |
download | core-b7b56492239d7ace4a9dce45aefbabfd00f0e7b8.tar.gz core-b7b56492239d7ace4a9dce45aefbabfd00f0e7b8.zip |
tdf#129450 DOCX import: fix bottom border of 1-row tables
Bottom border was missing in a 1-row table with disabled
inside borders. This happened because LO applied the empty
horizontal borders to the bottom border of the table.
(cherry picked from commit 6b1bd2699b0bdad6dc42db741dea0717cf7c1d36)
Conflicts:
sw/qa/extras/ooxmlexport/ooxmlexport3.cxx
Change-Id: I40140bf63297189edad13088f98fc5f869969c2d
-rw-r--r-- | sw/qa/extras/ooxmlexport/data/tdf129450_BottomBorder.docx | bin | 0 -> 12195 bytes | |||
-rw-r--r-- | sw/qa/extras/ooxmlexport/ooxmlexport3.cxx | 12 | ||||
-rw-r--r-- | writerfilter/source/dmapper/DomainMapperTableHandler.cxx | 5 |
3 files changed, 17 insertions, 0 deletions
diff --git a/sw/qa/extras/ooxmlexport/data/tdf129450_BottomBorder.docx b/sw/qa/extras/ooxmlexport/data/tdf129450_BottomBorder.docx Binary files differnew file mode 100644 index 000000000000..df00bfe04421 --- /dev/null +++ b/sw/qa/extras/ooxmlexport/data/tdf129450_BottomBorder.docx diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport3.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport3.cxx index f965e21674b0..137cc4b8db66 100644 --- a/sw/qa/extras/ooxmlexport/ooxmlexport3.cxx +++ b/sw/qa/extras/ooxmlexport/ooxmlexport3.cxx @@ -1023,6 +1023,18 @@ DECLARE_OOXMLEXPORT_TEST(testRightBorder, "tdf129442_RightBorder.docx") assertXPath(pXmlDocument, "/w:document/w:body/w:tbl/w:tr[1]/w:tc/w:tcPr/w:tcBorders/w:end [@w:val = 'nil']", 0); } +DECLARE_OOXMLEXPORT_TEST(testBottomBorder, "tdf129450_BottomBorder.docx") +{ + // tdf#129450: Missing bottom border in one row table. + + xmlDocPtr pXmlDocument = parseExport("word/document.xml"); + if (!pXmlDocument) + return; + + // If there is no bottom border, it is shown in tcBorders. + assertXPath(pXmlDocument, "/w:document/w:body/w:tbl/w:tr/w:tc[1]/w:tcPr/w:tcBorders/w:bottom [@w:val = 'nil']", 0); +} + #endif CPPUNIT_PLUGIN_IMPLEMENT(); diff --git a/writerfilter/source/dmapper/DomainMapperTableHandler.cxx b/writerfilter/source/dmapper/DomainMapperTableHandler.cxx index bad791b6af8e..f927cd1ab754 100644 --- a/writerfilter/source/dmapper/DomainMapperTableHandler.cxx +++ b/writerfilter/source/dmapper/DomainMapperTableHandler.cxx @@ -828,6 +828,11 @@ CellPropertyValuesSeq_t DomainMapperTableHandler::endTableGetCellProperties(Tabl { rInfo.pTableBorders->Erase(META_PROP_VERTICAL_BORDER); } + // Do not apply horizontal borders to a one row table. + else if (m_aCellProperties.size() == 1 && aRowOfCellsIterator->size() > 1) + { + rInfo.pTableBorders->Erase(META_PROP_HORIZONTAL_BORDER); + } lcl_computeCellBorders( rInfo.pTableBorders, *aCellIterator, nCell, nRow, bIsEndCol, bIsEndRow ); |