tdf#70234 DOCX: import tracked deletion of fields

Deleted fields in tracked changes, for example page
number fields, imported as not deleted text fields.

Change-Id: Id35c3ad7d293039fc8a2d0b564572dc459a25d0f
Reviewed-on: https://gerrit.libreoffice.org/73397
Tested-by: Jenkins
Reviewed-by: László Németh <nemeth@numbertext.org>
(cherry picked from commit d160bca0dcb80f1b517b79221d5c3a43bbad8639)
Reviewed-on: https://gerrit.libreoffice.org/73457
diff --git a/sw/qa/extras/ooxmlexport/data/tdf70234.docx b/sw/qa/extras/ooxmlexport/data/tdf70234.docx
new file mode 100644
index 0000000..33ef994
--- /dev/null
+++ b/sw/qa/extras/ooxmlexport/data/tdf70234.docx
Binary files differ
diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport11.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport11.cxx
index 70b6e79..f7e6907 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport11.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport11.cxx
@@ -849,6 +849,13 @@
        assertXPath(pXmlDoc, "/w:document/w:body/w:p[" + OString::number(i) + "]/w:pPr/w:rPr/w:del");
}

DECLARE_OOXMLEXPORT_EXPORTONLY_TEST(testTdf70234, "tdf70234.docx")
{
    xmlDocPtr pXmlDoc = parseExport("word/document.xml");
    // import fields with tracked deletion
    assertXPath(pXmlDoc, "/w:document/w:body/w:p[1]/w:del/w:r/w:fldChar");
}

DECLARE_OOXMLEXPORT_TEST(testTdf118691, "tdf118691.docx")
{
    uno::Reference<text::XTextTablesSupplier> xTablesSupplier(mxComponent, uno::UNO_QUERY);
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
index eb852bf..f03ee6f 100644
--- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx
+++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
@@ -5195,6 +5195,7 @@
                            aMap.InsertProps(m_pLastCharacterContext);
                        aMap.InsertProps(m_aFieldStack.top()->getProperties());
                        appendTextContent(xToInsert, aMap.GetPropertyValues());
                        CheckRedline( xToInsert->getAnchor( ) );
                    }
                    else
                    {