[Libreoffice-commits] core.git: Branch 'libreoffice-5-2' - sw/qa writerfilter/source

Mark Hung marklh9 at gmail.com
Thu Dec 8 15:34:35 UTC 2016


 sw/qa/extras/ooxmlexport/data/tdf103651.docx          |binary
 sw/qa/extras/ooxmlexport/ooxmlexport7.cxx             |    9 +++++++++
 writerfilter/source/ooxml/OOXMLFastContextHandler.cxx |    6 ++++++
 writerfilter/source/ooxml/OOXMLFastContextHandler.hxx |    1 +
 writerfilter/source/ooxml/model.xml                   |    2 +-
 5 files changed, 17 insertions(+), 1 deletion(-)

New commits:
commit 282e2de90fe724958c82c76f449a19e8ccbfc017
Author: Mark Hung <marklh9 at gmail.com>
Date:   Sat Dec 3 23:06:23 2016 +0800

    tdf#103651 check isForwardEvents() for symbols in comments
    
    Every time a comment is referred, the whole comment stream is parsed
    but only the referred comment is extracted. But the symbol is always
    processed so it is added to all the comments.
    
    Reviewed-on: https://gerrit.libreoffice.org/31584
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Michael Stahl <mstahl at redhat.com>
    (cherry picked from commit 3caf89200c8fa7b38d6c340b666ca6cc8c2eb766)
    
    Change-Id: I3264de2d011ff188ef64f6500ae426cde0106c16
    Reviewed-on: https://gerrit.libreoffice.org/31758
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Michael Stahl <mstahl at redhat.com>

diff --git a/sw/qa/extras/ooxmlexport/data/tdf103651.docx b/sw/qa/extras/ooxmlexport/data/tdf103651.docx
new file mode 100755
index 0000000..de4c2d6
Binary files /dev/null and b/sw/qa/extras/ooxmlexport/data/tdf103651.docx differ
diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport7.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport7.cxx
index d7c1f22..3537092 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport7.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport7.cxx
@@ -77,6 +77,15 @@ DECLARE_OOXMLEXPORT_TEST(testMSwordHang,"test_msword_hang.docx")
     assertXPath(pXmlDoc, "/w:document/w:body/w:p[2]/w:r[1]/mc:AlternateContent/mc:Choice/w:drawing/wp:anchor/a:graphic/a:graphicData/wps:wsp/wps:txbx/w:txbxContent/w:p/w:r[2]/w:drawing/wp:inline", "distT", "0");
 }
 
+DECLARE_OOXMLEXPORT_TEST(testTdf103651, "tdf103651.docx")
+{
+    uno::Reference<beans::XPropertySet> xTextField = getProperty< uno::Reference<beans::XPropertySet> >(getRun(getParagraph(1), 1), "TextField");
+    OUString sContent;
+    xTextField->getPropertyValue("Content") >>= sContent;
+    // Comment in the first paragraph should not have smiley ( 0xf04a ).
+    CPPUNIT_ASSERT_EQUAL( sal_Int32( -1 ) , sContent.indexOf( sal_Unicode( 0xf04a ) ));
+}
+
 DECLARE_OOXMLEXPORT_TEST(testGroupshapeThemeFont, "groupshape-theme-font.docx")
 {
     // Font was specified using a theme reference, which wasn't handled.
diff --git a/writerfilter/source/ooxml/OOXMLFastContextHandler.cxx b/writerfilter/source/ooxml/OOXMLFastContextHandler.cxx
index d804e1d..b91276c 100644
--- a/writerfilter/source/ooxml/OOXMLFastContextHandler.cxx
+++ b/writerfilter/source/ooxml/OOXMLFastContextHandler.cxx
@@ -551,6 +551,12 @@ void OOXMLFastContextHandler::tab()
         mpStream->utext(reinterpret_cast<const sal_uInt8*>(&uTab), 1);
 }
 
+void OOXMLFastContextHandler::symbol()
+{
+    if (isForwardEvents())
+        sendPropertiesWithId(NS_ooxml::LN_EG_RunInnerContent_sym);
+}
+
 void OOXMLFastContextHandler::cr()
 {
     if (isForwardEvents())
diff --git a/writerfilter/source/ooxml/OOXMLFastContextHandler.hxx b/writerfilter/source/ooxml/OOXMLFastContextHandler.hxx
index 60d423c..bd8d2e8 100644
--- a/writerfilter/source/ooxml/OOXMLFastContextHandler.hxx
+++ b/writerfilter/source/ooxml/OOXMLFastContextHandler.hxx
@@ -156,6 +156,7 @@ public:
     void ftnednsep();
     void pgNum();
     void tab();
+    void symbol();
     void cr();
     void noBreakHyphen();
     void softHyphen();
diff --git a/writerfilter/source/ooxml/model.xml b/writerfilter/source/ooxml/model.xml
index 3b6a03e..1f5aa82 100644
--- a/writerfilter/source/ooxml/model.xml
+++ b/writerfilter/source/ooxml/model.xml
@@ -17857,7 +17857,7 @@
     <resource name="CT_Sym" resource="Properties">
       <attribute name="font" tokenid="ooxml:CT_Sym_font"/>
       <attribute name="char" tokenid="ooxml:CT_Sym_char"/>
-      <action name="end" tokenid="ooxml:EG_RunInnerContent_sym" action="sendPropertiesWithId" sendtokenid="ooxml:EG_RunInnerContent_sym"/>
+      <action name="end" action="symbol"/>
     </resource>
     <resource name="CT_Text" resource="Stream">
       <attribute name="xml:space" tokenid="ooxml:CT_Text_space"/>


More information about the Libreoffice-commits mailing list