sw/qa/extras/ooxmlexport/data/FDO78292.docx |binary sw/qa/extras/ooxmlexport/ooxmlexport.cxx | 9 +++++++++ sw/source/filter/ww8/docxattributeoutput.cxx | 3 ++- 3 files changed, 11 insertions(+), 1 deletion(-)
New commits: commit 273e73c8963e0ce4d52e938cedafa9041144d4e5 Author: umeshkadam <umesh.ka...@synerzip.com> Date: Wed May 7 18:56:10 2014 +0530 fdo#78292: Tags related to checkbox r being written in text tag for sdt cntnt. - The parent node for checked, checkedState, uncheckedState is getting overwritten by "text" - text node is a leaf node, and should not have any children. Change-Id: Ic269525001e914adc1aa328c92be5fe4d5d1b3e7 Reviewed-on: https://gerrit.libreoffice.org/9278 Reviewed-by: Jacobo Aragunde Pérez <jaragu...@igalia.com> Tested-by: Jacobo Aragunde Pérez <jaragu...@igalia.com> diff --git a/sw/qa/extras/ooxmlexport/data/FDO78292.docx b/sw/qa/extras/ooxmlexport/data/FDO78292.docx new file mode 100644 index 0000000..0388c0a Binary files /dev/null and b/sw/qa/extras/ooxmlexport/data/FDO78292.docx differ diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport.cxx index 4f0a329..6564776 100644 --- a/sw/qa/extras/ooxmlexport/ooxmlexport.cxx +++ b/sw/qa/extras/ooxmlexport/ooxmlexport.cxx @@ -3025,6 +3025,15 @@ DECLARE_OOXMLEXPORT_TEST(testTCTagMisMatch, "TCTagMisMatch.docx") assertXPath(pXmlDoc,"/w:document[1]/w:body[1]/w:tbl[1]/w:tr[1]/w:tc[1]", 1); } +DECLARE_OOXMLEXPORT_TEST(testFDO78292, "FDO78292.docx") +{ + //text node is a leaf node, it should not have any children + xmlDocPtr pXmlDoc = parseExport("word/document.xml"); + if(!pXmlDoc) + return; + assertXPath(pXmlDoc,"/w:document/w:body/w:p[14]/w:sdt[3]/w:sdtPr[1]/w:text/w14:checked",0); +} + DECLARE_OOXMLEXPORT_TEST(testHyperLinkTagEnded, "fdo76316.docx") { /* XML tag <w:hyperlink> was not getting closed when its inside another diff --git a/sw/source/filter/ww8/docxattributeoutput.cxx b/sw/source/filter/ww8/docxattributeoutput.cxx index 553b444..4f29904 100644 --- a/sw/source/filter/ww8/docxattributeoutput.cxx +++ b/sw/source/filter/ww8/docxattributeoutput.cxx @@ -7325,7 +7325,8 @@ void DocxAttributeOutput::CharGrabBag( const SfxGrabBagItem& rItem ) rtl::OUStringToOString( sValue, RTL_TEXTENCODING_UTF8 ).getStr() ); } } - else if (aPropertyValue.Name == "ooxml:CT_SdtPr_text") + //do not overwrite the parent node. + else if (aPropertyValue.Name == "ooxml:CT_SdtPr_text" && !m_pRunSdtPrTokenChildren) m_nRunSdtPrToken = FSNS( XML_w, XML_text ); else if (aPropertyValue.Name == "ooxml:CT_SdtPr_id" && m_nRunSdtPrToken == 0) // only write id token as a marker if no other exist
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits