sw/qa/extras/ooxmlexport/data/2-id.docx |binary sw/qa/extras/ooxmlexport/ooxmlfieldexport.cxx | 9 +++++++++ sw/source/filter/ww8/docxattributeoutput.cxx | 2 +- 3 files changed, 10 insertions(+), 1 deletion(-)
New commits: commit 48f52a509aeed8c8a780bf07d3761a7699e8a36b Author: Miklos Vajna <vmik...@collabora.co.uk> Date: Thu Jul 31 10:50:44 2014 +0200 DocxAttributeOutput::WriteSdtBlock: never write <w:id> twice Change-Id: Iab68a4e809a7924e753db5a85d9914308419b845 diff --git a/sw/qa/extras/ooxmlexport/data/2-id.docx b/sw/qa/extras/ooxmlexport/data/2-id.docx new file mode 100644 index 0000000..6d05e68 Binary files /dev/null and b/sw/qa/extras/ooxmlexport/data/2-id.docx differ diff --git a/sw/qa/extras/ooxmlexport/ooxmlfieldexport.cxx b/sw/qa/extras/ooxmlexport/ooxmlfieldexport.cxx index 76cb592..1e0b98d 100644 --- a/sw/qa/extras/ooxmlexport/ooxmlfieldexport.cxx +++ b/sw/qa/extras/ooxmlexport/ooxmlfieldexport.cxx @@ -532,6 +532,15 @@ DECLARE_OOXMLEXPORT_TEST(testSdt2Run, "sdt-2-para.docx") } } +DECLARE_OOXMLEXPORT_TEST(test2Id, "2-id.docx") +{ + if (xmlDocPtr pXmlDoc = parseExport()) + { + // This was 2, but only one w:id is allowed. + assertXPath(pXmlDoc, "//w:sdtPr/w:id", 1); + } +} + #endif CPPUNIT_PLUGIN_IMPLEMENT(); diff --git a/sw/source/filter/ww8/docxattributeoutput.cxx b/sw/source/filter/ww8/docxattributeoutput.cxx index 9078f8b..c66a6ea 100644 --- a/sw/source/filter/ww8/docxattributeoutput.cxx +++ b/sw/source/filter/ww8/docxattributeoutput.cxx @@ -612,7 +612,7 @@ void DocxAttributeOutput::WriteSdtBlock( sal_Int32& nSdtPrToken, m_pSerializer->endElement( nSdtPrToken ); } - else if( (nSdtPrToken > 0) && !(m_bRunTextIsOn && m_rExport.SdrExporter().IsParagraphHasDrawing())) + else if( (nSdtPrToken > 0) && nSdtPrToken != FSNS( XML_w, XML_id ) && !(m_bRunTextIsOn && m_rExport.SdrExporter().IsParagraphHasDrawing())) m_pSerializer->singleElement( nSdtPrToken, FSEND ); if( nSdtPrToken == FSNS( XML_w, XML_id ) || ( bPara && m_bParagraphSdtHasId ) ) _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits