tdf#164901 sw inline heading: fix lost floating tables

Style separators inside floating tables resulted losing of
the floating tables. In this case, don't handle style separators,
as before commit 56588663a0.

Regression since commit 56588663a0
"tdf#131728 sw inline heading: fix DOCX paragraph layout interoperability".

Change-Id: I30b6683b2312636405960efc65b5af2b6b4dbfa3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180925
Reviewed-by: László Németh <nemeth@numbertext.org>
Tested-by: Jenkins
This commit is contained in:
László Németh
2025-01-30 12:58:18 +01:00
parent 778feb1f67
commit f1bbce4068
3 changed files with 14 additions and 1 deletions
Binary file not shown.
@@ -277,6 +277,15 @@ CPPUNIT_TEST_FIXTURE(Test, testTdf48459)
assertXPath(pXmlDoc, "/w:document/w:body/w:p/w:pPr/w:rPr/w:specVanish", 1);
}
CPPUNIT_TEST_FIXTURE(Test, testTdf164901)
{
loadAndSave("tdf164901.docx");
xmlDocUniquePtr pXmlDoc = parseExport(u"word/document.xml"_ustr);
// This was 0 (lost floating table because of containing a style separator)
assertXPath(pXmlDoc, "/w:document/w:body/w:tbl", 1);
}
CPPUNIT_TEST_FIXTURE(Test, testFdo77129)
{
loadAndSave("fdo77129.docx");
@@ -2139,7 +2139,11 @@ void DomainMapper::sprmWithProps( Sprm& rSprm, const PropertyMapPtr& rContext )
}
break;
case NS_ooxml::LN_EG_RPrBase_specVanish:
if ( nIntValue && !IsStyleSheetImport() )
// tdf#131728 import inline heading
if ( nIntValue && !IsStyleSheetImport() &&
// tdf#164901 but not in a floating table
!(m_pImpl->hasTableManager() &&
m_pImpl->getTableManager().getCurrentTablePosition().getLength() != 0) )
{
// put inline heading inside a text frame to get the same layout with ToC/PDF bookmark support
m_pImpl->m_StreamStateStack.top().bIsInlineParagraph = true;