sw/qa/extras/inc/swmodeltestbase.hxx | 6 ++++++ sw/qa/extras/ooxmlimport/data/rprchange_closed.docx |binary sw/qa/extras/ooxmlimport/ooxmlimport.cxx | 7 +++++++ writerfilter/source/ooxml/model.xml | 3 +++ 4 files changed, 16 insertions(+)
New commits: commit efba557c24db07557a29b86ffb3188a20c0dc6f3 Author: Zolnai Tamás <tamas.zol...@collabora.com> Date: Tue Dec 24 08:05:58 2013 +0100 DOCX import: close rPrChange properly. Call endtrackchanges when rPrChange ends so the corresponding redline will be removed. (cherry picked from commit 75e7d6f12e914b63e66968890533b2a56d0b1a7e) Conflicts: sw/qa/extras/ooxmlimport/ooxmlimport.cxx Reviewed on: https://gerrit.libreoffice.org/7195 Change-Id: I4091d7b54e0a74f3158cc979f210577a2dc29783 diff --git a/sw/qa/extras/inc/swmodeltestbase.hxx b/sw/qa/extras/inc/swmodeltestbase.hxx index ba64155..8a2b8c4 100644 --- a/sw/qa/extras/inc/swmodeltestbase.hxx +++ b/sw/qa/extras/inc/swmodeltestbase.hxx @@ -300,6 +300,12 @@ protected: return data; } + bool hasProperty(const uno::Reference<uno::XInterface>& obj, const OUString& name) const + { + uno::Reference<beans::XPropertySet> properties(obj, uno::UNO_QUERY_THROW); + return properties->getPropertySetInfo()->hasPropertyByName(name); + } + /// Get number of paragraphs of the document. int getParagraphs() { diff --git a/sw/qa/extras/ooxmlimport/data/rprchange_closed.docx b/sw/qa/extras/ooxmlimport/data/rprchange_closed.docx new file mode 100644 index 0000000..ff53871 Binary files /dev/null and b/sw/qa/extras/ooxmlimport/data/rprchange_closed.docx differ diff --git a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx index bc515c8..6d44d45 100644 --- a/sw/qa/extras/ooxmlimport/ooxmlimport.cxx +++ b/sw/qa/extras/ooxmlimport/ooxmlimport.cxx @@ -1556,6 +1556,13 @@ DECLARE_OOXMLIMPORT_TEST(testFdo65090, "fdo65090.docx") CPPUNIT_ASSERT_EQUAL(sal_Int32(0), getProperty< uno::Sequence<text::TableColumnSeparator> >(xTableRows->getByIndex(0), "TableColumnSeparators").getLength()); } +DECLARE_OOXMLIMPORT_TEST(testRPrChangeClosed, "rprchange_closed.docx") +{ + // Redline defined by rPrChanged wasn't removed. + // First paragraph has an rPrChange element, make sure it doesn't appear in the second paragraph. + CPPUNIT_ASSERT_EQUAL(false, hasProperty(getRun(getParagraph(2), 1), "RedlineType")); +} + #endif CPPUNIT_PLUGIN_IMPLEMENT(); diff --git a/writerfilter/source/ooxml/model.xml b/writerfilter/source/ooxml/model.xml index 2e0a300..1cf434c 100644 --- a/writerfilter/source/ooxml/model.xml +++ b/writerfilter/source/ooxml/model.xml @@ -22126,6 +22126,9 @@ </resource> <resource name="CT_RPrChange" resource="Properties" tag="character"> <element name="rPr" tokenid="ooxml:CT_RPrChange_rPr"/> + <action name="end" action="tokenproperty"/> + <action name="end" action="propagateCharacterPropertiesAsSet" sendtokenid="ooxml:endtrackchange"/> + <action name="end" action="clearProps"/> </resource> <resource name="CT_ParaRPrChange" resource="Properties" tag="character"> <element name="rPr" tokenid="ooxml:CT_ParaRPrChange_rPr"/>
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits