summaryrefslogtreecommitdiff
path: root/writerfilter/source/dmapper/DomainMapperTableManager.cxx
diff options
context:
space:
mode:
authorJustin Luth <justin_luth@sil.org>2021-08-14 21:28:50 +0200
committerJustin Luth <justin_luth@sil.org>2021-08-18 06:21:13 +0200
commit28a7fec1f6465f8bfee417d447eb2e684ffe040b (patch)
tree88d30198e4fbc81cb088f4307ac19b4f86ae9f2f /writerfilter/source/dmapper/DomainMapperTableManager.cxx
parentb10b26f01c241b939da9b49f22239d4fea23eb7a (diff)
tdf#134569 writerfilter: move tableParaProps on table endLevel
The end-level of a table only comes at the ::finishParagraph of the FOLLOWING paragraph. So for table-in-table, it is necessary to move the paragraph properties captured during the paragraph to the correct table level's collection. This fixes 7.0 regression from commit 81ce88aa80f8e7cde4fdc5b211e9500a3599643c and depends on prior commit related tdf#134569 writerfilter: negative means table end Change-Id: I83183f38e1cf68b7db09813ca1b4a2491e7b54e0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120526 Tested-by: Jenkins Tested-by: László Németh <nemeth@numbertext.org> Reviewed-by: Justin Luth <justin_luth@sil.org> Reviewed-by: László Németh <nemeth@numbertext.org>
Diffstat (limited to 'writerfilter/source/dmapper/DomainMapperTableManager.cxx')
-rw-r--r--writerfilter/source/dmapper/DomainMapperTableManager.cxx6
1 files changed, 6 insertions, 0 deletions
diff --git a/writerfilter/source/dmapper/DomainMapperTableManager.cxx b/writerfilter/source/dmapper/DomainMapperTableManager.cxx
index e0f0ae18a160..6689a36091ad 100644
--- a/writerfilter/source/dmapper/DomainMapperTableManager.cxx
+++ b/writerfilter/source/dmapper/DomainMapperTableManager.cxx
@@ -511,7 +511,13 @@ void DomainMapperTableManager::endLevel( )
m_aTablePositions.pop_back();
m_aTableStyleNames.pop_back();
m_aMoved.pop_back( );
+
+ std::optional<TableParagraph> oParagraph;
+ if (getTableDepthDifference() < 0 && !m_aParagraphsToEndTable.top()->empty())
+ oParagraph = m_aParagraphsToEndTable.top()->back();
m_aParagraphsToEndTable.pop();
+ if (oParagraph && m_aParagraphsToEndTable.size())
+ m_aParagraphsToEndTable.top()->push_back(*oParagraph);
}
void DomainMapperTableManager::endOfCellAction()