tdf#133735 DOCX: fix paragraph settings of nested tables
First row of a nested tables lost its paragraph
settings, by dropping the collected paragraph data of
the unfinished row.
Regression from commit 81ce88aa80f8e7cde4fdc5b211e9500a3599643c
(tdf#132514 DOCX import: fix lost table style with footer)
Change-Id: I17d81d0906f424fe35237ac285e8ad27090bcab0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97645
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
(cherry picked from commit 8b5be44b30119b67d7b3ca9c4140046976a1df59)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97790
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport10.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport10.cxx
index f4c29f2..13d6f67 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport10.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport10.cxx
@@ -375,6 +375,17 @@ DECLARE_OOXMLEXPORT_EXPORTONLY_TEST(testFdo73389,"fdo73389.docx")
assertXPath(pXmlDoc, "/w:document/w:body/w:tbl/w:tr/w:tc/w:tbl/w:tblPr/w:tblW","w","1611");
}
DECLARE_OOXMLEXPORT_EXPORTONLY_TEST(testTdf133735, "fdo73389.docx")
{
xmlDocUniquePtr pXmlDoc = parseExport();
assertXPath(pXmlDoc, "/w:document/w:body/w:tbl/w:tr/w:tc/w:tbl/w:tr[2]/w:tc[1]/w:p/w:pPr/w:spacing", "after", "0");
// This was 200
assertXPath(pXmlDoc, "/w:document/w:body/w:tbl/w:tr/w:tc/w:tbl/w:tr[1]/w:tc[1]/w:p/w:pPr/w:spacing", "after", "0");
assertXPath(pXmlDoc, "/w:document/w:body/w:tbl/w:tr/w:tc/w:tbl/w:tr[1]/w:tc[2]/w:p/w:pPr/w:spacing", "after", "0");
assertXPath(pXmlDoc, "/w:document/w:body/w:tbl/w:tr/w:tc/w:tbl/w:tr[1]/w:tc[3]/w:p/w:pPr/w:spacing", "after", "0");
}
DECLARE_OOXMLEXPORT_EXPORTONLY_TEST(testTdf59274, "tdf59274.docx")
{
// Table with "auto" table width and incomplete grid: 11 columns, but only 4 gridCol elements.
diff --git a/writerfilter/source/dmapper/DomainMapperTableManager.cxx b/writerfilter/source/dmapper/DomainMapperTableManager.cxx
index 915b317..a19b939 100644
--- a/writerfilter/source/dmapper/DomainMapperTableManager.cxx
+++ b/writerfilter/source/dmapper/DomainMapperTableManager.cxx
@@ -580,6 +580,7 @@ void DomainMapperTableManager::endOfRowAction()
IntVectorPtr pTmpCellWidths = m_aCellWidths.back();
sal_uInt32 nTmpCell = m_nCell.back();
sal_uInt32 nTmpGridBefore = m_aGridBefore.back();
TableParagraphVectorPtr pTableParagraphs = getCurrentParagraphs();
// endLevel and startLevel are taking care of the non finished row
// to carry it over to the next table
@@ -598,6 +599,8 @@ void DomainMapperTableManager::endOfRowAction()
m_aCellWidths.push_back(pTmpCellWidths);
m_nCell.push_back(nTmpCell);
m_aGridBefore.push_back(nTmpGridBefore);
m_aParagraphsToEndTable.pop( );
m_aParagraphsToEndTable.push( pTableParagraphs );
}
// save table style in the first row for comparison
if ( m_nRow == 0 && pTablePropMap->isSet(META_PROP_TABLE_STYLE_NAME) )