sw/qa/extras/rtfimport/data/tdf160553.rtf | 20 ++++++++++++++++++++ sw/qa/extras/rtfimport/rtfimport.cxx | 8 ++++++++ writerfilter/source/dmapper/DomainMapper.cxx | 3 ++- 3 files changed, 30 insertions(+), 1 deletion(-)
New commits: commit 99125ebab06f776cc8d44f063d6bed76d51996ff Author: Vasily Melenchuk <[email protected]> AuthorDate: Mon Mar 25 16:01:48 2024 +0300 Commit: Thorsten Behrens <[email protected]> CommitDate: Wed Jul 24 21:47:26 2024 +0200 tdf#160553: writerfilter: RTF import: fix problem with first table in section Handles section properties between tables. JUnit test included Change-Id: I1db8b80749d18c0e73112e4fd1d13d6331aa7291 Change-Id: I8b00bfeb260af024f48ba8a3e6e6ac38e834b684 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170924 Tested-by: Thorsten Behrens <[email protected]> Reviewed-by: Thorsten Behrens <[email protected]> diff --git a/sw/qa/extras/rtfimport/data/tdf160553.rtf b/sw/qa/extras/rtfimport/data/tdf160553.rtf new file mode 100755 index 000000000000..2e7b26db4e70 --- /dev/null +++ b/sw/qa/extras/rtfimport/data/tdf160553.rtf @@ -0,0 +1,20 @@ +{ tf1 + + + rowd +\intbl 1+\intbl 2+ rowd + ow +\pard HELLO\par + +\sect\sectd + + rowd +\intbl 1+\intbl 2+ rowd + ow +\pard + +} diff --git a/sw/qa/extras/rtfimport/rtfimport.cxx b/sw/qa/extras/rtfimport/rtfimport.cxx index 58a6857cffd2..4feef4bd113c 100644 --- a/sw/qa/extras/rtfimport/rtfimport.cxx +++ b/sw/qa/extras/rtfimport/rtfimport.cxx @@ -1837,6 +1837,14 @@ CPPUNIT_TEST_FIXTURE(Test, test158044Tdf) CPPUNIT_ASSERT_EQUAL(drawing::FillStyle_NONE, fillStyle); } } + +CPPUNIT_TEST_FIXTURE(Test, test160553Tdf) +{ + createSwDoc("tdf160553.rtf"); + // new section should create second page + CPPUNIT_ASSERT_EQUAL(2, getPages()); +} + // tests should only be added to rtfIMPORT *if* they fail round-tripping in rtfEXPORT CPPUNIT_PLUGIN_IMPLEMENT(); diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx index d2fcefced9aa..01e2f043390a 100644 --- a/writerfilter/source/dmapper/DomainMapper.cxx +++ b/writerfilter/source/dmapper/DomainMapper.cxx @@ -3350,7 +3350,8 @@ void DomainMapper::sprmWithProps( Sprm& rSprm, const PropertyMapPtr& rContext ) } break; case NS_ooxml::LN_tblEnd: - m_pImpl->m_StreamStateStack.top().nTableDepth--; + if (m_pImpl->m_StreamStateStack.top().nTableDepth > 0) + m_pImpl->m_StreamStateStack.top().nTableDepth--; break; case NS_ooxml::LN_tcStart: m_pImpl->m_nTableCellDepth++;
