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

Tünde Tóth (via logerrit) logerrit at kemper.freedesktop.org
Tue Nov 19 16:58:54 UTC 2019


 sw/qa/extras/odfexport/data/tdf128504.docx        |binary
 sw/qa/extras/odfexport/odfexport.cxx              |   11 +++++++++++
 sw/source/filter/ww8/docxattributeoutput.cxx      |    4 ++--
 writerfilter/source/dmapper/DomainMapper_Impl.cxx |    7 ++++++-
 4 files changed, 19 insertions(+), 3 deletions(-)

New commits:
commit bc32cf9f1ad996c34ed19805787bbc2e5f198b91
Author:     Tünde Tóth <tundeth at gmail.com>
AuthorDate: Thu Nov 14 08:54:08 2019 +0100
Commit:     Xisco Faulí <xiscofauli at libreoffice.org>
CommitDate: Tue Nov 19 17:58:09 2019 +0100

    tdf#128504 save DOCX as ODT: don't color not highlighted hyperlinks
    
    During DOCX import, not highlighted hyperlinks, ie. without hyperlink
    character styles, set the Visited/Unvisited character style text
    attributes to "Default Style" to avoid saving them with the
    default highlighted hyperlink character styles in ODT.
    
    Regression from the commit 576611895e51186d38ddefa10ed8d66075d9de37
    "tdf#127741 DOCX import: format hyperlink with Default character style".
    
    Change-Id: I95e919a137f1ba85ca85372d5bdb23d958ef33c0
    Reviewed-on: https://gerrit.libreoffice.org/82650
    Tested-by: Jenkins
    Reviewed-by: Xisco Faulí <xiscofauli at libreoffice.org>

diff --git a/sw/qa/extras/odfexport/data/tdf128504.docx b/sw/qa/extras/odfexport/data/tdf128504.docx
new file mode 100644
index 000000000000..2e6e5225b88c
Binary files /dev/null and b/sw/qa/extras/odfexport/data/tdf128504.docx differ
diff --git a/sw/qa/extras/odfexport/odfexport.cxx b/sw/qa/extras/odfexport/odfexport.cxx
index 70290151f9ac..d297ac2893d1 100644
--- a/sw/qa/extras/odfexport/odfexport.cxx
+++ b/sw/qa/extras/odfexport/odfexport.cxx
@@ -2254,6 +2254,17 @@ DECLARE_ODFEXPORT_TEST(tdf99631, "tdf99631.docx")
     assertXPathContent(pXmlDoc2, "//config:config-item[@config:name='VisibleAreaWidth']", "4515");
     assertXPathContent(pXmlDoc2, "//config:config-item[@config:name='VisibleAreaHeight']", "1354");
 }
+
+DECLARE_ODFEXPORT_TEST(tdf128504, "tdf128504.docx")
+{
+    uno::Reference<text::XTextRange> xPara = getParagraph(6);
+    uno::Reference<beans::XPropertySet> xRun(getRun(xPara, 1), uno::UNO_QUERY);
+    OUString unVisitedStyleName = getProperty<OUString>(xRun, "UnvisitedCharStyleName");
+    CPPUNIT_ASSERT(!unVisitedStyleName.equalsIgnoreAsciiCase("Internet Link"));
+    OUString visitedStyleName = getProperty<OUString>(xRun, "VisitedCharStyleName");
+    CPPUNIT_ASSERT(!visitedStyleName.equalsIgnoreAsciiCase("Visited Internet Link"));
+}
+
 #endif
 
 CPPUNIT_PLUGIN_IMPLEMENT();
diff --git a/sw/source/filter/ww8/docxattributeoutput.cxx b/sw/source/filter/ww8/docxattributeoutput.cxx
index 0be232d6569f..d1eb890ddc62 100644
--- a/sw/source/filter/ww8/docxattributeoutput.cxx
+++ b/sw/source/filter/ww8/docxattributeoutput.cxx
@@ -7205,8 +7205,8 @@ void DocxAttributeOutput::TextINetFormat( const SwFormatINetFormat& rLink )
     const SwCharFormat* pCharFormat = pINetFormat->GetCharFormat();
 
     OString aStyleId(m_rExport.m_pStyles->GetStyleId(m_rExport.GetId(pCharFormat)));
-
-    m_pSerializer->singleElementNS(XML_w, XML_rStyle, FSNS(XML_w, XML_val), aStyleId);
+    if (!aStyleId.isEmpty() && !aStyleId.equalsIgnoreAsciiCase("DefaultStyle"))
+        m_pSerializer->singleElementNS(XML_w, XML_rStyle, FSNS(XML_w, XML_val), aStyleId);
 }
 
 void DocxAttributeOutput::TextCharFormat( const SwFormatCharFormat& rCharFormat )
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
index 96352aab7b99..83e78ad7d7ae 100644
--- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx
+++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
@@ -5366,7 +5366,12 @@ void DomainMapper_Impl::PopFieldContext()
                                     OUString charStyle;
                                     if (css::uno::fromAny(aAny, &charStyle))
                                     {
-                                        if(!charStyle.isEmpty() && charStyle.equalsIgnoreAsciiCase("Internet Link"))
+                                        if (charStyle.isEmpty())
+                                        {
+                                            xCrsrProperties->setPropertyValue("VisitedCharStyleName", uno::makeAny(OUString("Default Style")));
+                                            xCrsrProperties->setPropertyValue("UnvisitedCharStyleName", uno::makeAny(OUString("Default Style")));
+                                        }
+                                        else if (charStyle.equalsIgnoreAsciiCase("Internet Link"))
                                         {
                                             xCrsrProperties->setPropertyValue("CharStyleName", uno::makeAny(OUString("Default Style")));
                                         }


More information about the Libreoffice-commits mailing list