diff options
-rw-r--r-- | sw/qa/extras/ooxmlexport/data/tdf142387.docx | bin | 0 -> 13268 bytes | |||
-rw-r--r-- | sw/qa/extras/ooxmlexport/ooxmlexport11.cxx | 7 | ||||
-rw-r--r-- | sw/source/filter/ww8/docxattributeoutput.cxx | 6 |
3 files changed, 12 insertions, 1 deletions
diff --git a/sw/qa/extras/ooxmlexport/data/tdf142387.docx b/sw/qa/extras/ooxmlexport/data/tdf142387.docx Binary files differnew file mode 100644 index 000000000000..c4dc0d280cdc --- /dev/null +++ b/sw/qa/extras/ooxmlexport/data/tdf142387.docx diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport11.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport11.cxx index 0dd8614cf156..548558bd6eed 100644 --- a/sw/qa/extras/ooxmlexport/ooxmlexport11.cxx +++ b/sw/qa/extras/ooxmlexport/ooxmlexport11.cxx @@ -1369,6 +1369,13 @@ DECLARE_OOXMLEXPORT_EXPORTONLY_TEST(testTdf128913, "tdf128913.docx") assertXPath(pXmlDoc, "/w:document/w:body/w:p/w:del/w:r/w:drawing/wp:inline/a:graphic"); } +DECLARE_OOXMLEXPORT_EXPORTONLY_TEST(testTdf142387, "tdf142387.docx") +{ + xmlDocUniquePtr pXmlDoc = parseExport(); + // w:del in w:ins is exported correctly (only w:del was exported) + assertXPathContent(pXmlDoc, "/w:document/w:body/w:p/w:ins/w:del/w:r/w:delText", "inserts "); +} + DECLARE_OOXMLEXPORT_TEST(testTdf123054, "tdf123054.docx") { CPPUNIT_ASSERT_EQUAL(OUString("No Spacing"), diff --git a/sw/source/filter/ww8/docxattributeoutput.cxx b/sw/source/filter/ww8/docxattributeoutput.cxx index c0faa7a00fff..7cbf2a8a0df0 100644 --- a/sw/source/filter/ww8/docxattributeoutput.cxx +++ b/sw/source/filter/ww8/docxattributeoutput.cxx @@ -3238,7 +3238,8 @@ void DocxAttributeOutput::StartRedline( const SwRedlineData * pRedlineData ) if ( !pRedlineData ) return; - // FIXME check if it's necessary to travel over the Next()'s in pRedlineData + // write out stack of this redline recursively (first the oldest) + StartRedline( pRedlineData->Next() ); OString aId( OString::number( m_nRedlineId++ ) ); @@ -3292,6 +3293,9 @@ void DocxAttributeOutput::EndRedline( const SwRedlineData * pRedlineData ) default: break; } + + // write out stack of this redline recursively (first the newest) + EndRedline( pRedlineData->Next() ); } void DocxAttributeOutput::FormatDrop( const SwTextNode& /*rNode*/, const SwFormatDrop& /*rSwFormatDrop*/, sal_uInt16 /*nStyle*/, ww8::WW8TableNodeInfo::Pointer_t /*pTextNodeInfo*/, ww8::WW8TableNodeInfoInner::Pointer_t ) |