summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSzabolcs Toth <szabolcs450@gmail.com>2020-05-11 15:56:27 +0200
committerLászló Németh <nemeth@numbertext.org>2020-05-18 15:55:41 +0200
commit96319d662dca12616eb52c601a2d5b5adca3ae57 (patch)
tree2808bee7de55b7064530b50e5ad77160716bca00
parentd6fce28dea6e1e51ec5de88ef17cc56180b8c2db (diff)
tdf#92526 DrawingML shape export: fix 0 line width
0 line width is the thinnest possible line width, but without its explicit export (a:ln w="0"), shape outline was imported with 0.75 pt line width by MSO. Co-authored-by: Balázs Regényi Change-Id: I40f7aefe6358bebe9a3853fe3e7d6faa170bc34c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93968 Reviewed-by: László Németh <nemeth@numbertext.org> Tested-by: László Németh <nemeth@numbertext.org>
-rw-r--r--oox/source/export/drawingml.cxx2
-rw-r--r--sw/qa/extras/ooxmlexport/data/tdf92526_ShapeLineWidth.odtbin0 -> 9163 bytes
-rw-r--r--sw/qa/extras/ooxmlexport/ooxmlexport3.cxx12
3 files changed, 13 insertions, 1 deletions
diff --git a/oox/source/export/drawingml.cxx b/oox/source/export/drawingml.cxx
index 12a4506a8e75..c925819dd9f8 100644
--- a/oox/source/export/drawingml.cxx
+++ b/oox/source/export/drawingml.cxx
@@ -866,7 +866,7 @@ void DrawingML::WriteOutline( const Reference<XPropertySet>& rXPropSet, Referenc
mpFS->startElementNS( XML_a, XML_ln,
XML_cap, cap,
- XML_w, nLineWidth > 1 && nStyleLineWidth != nLineWidth ?
+ XML_w, nLineWidth == 0 || (nLineWidth > 1 && nStyleLineWidth != nLineWidth) ?
OString::number(oox::drawingml::convertHmmToEmu(nLineWidth)).getStr() : nullptr );
if( bColorSet )
diff --git a/sw/qa/extras/ooxmlexport/data/tdf92526_ShapeLineWidth.odt b/sw/qa/extras/ooxmlexport/data/tdf92526_ShapeLineWidth.odt
new file mode 100644
index 000000000000..fffd9b9b2037
--- /dev/null
+++ b/sw/qa/extras/ooxmlexport/data/tdf92526_ShapeLineWidth.odt
Binary files differ
diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport3.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport3.cxx
index 6993eb54c273..48b2cef55586 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport3.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport3.cxx
@@ -1135,6 +1135,18 @@ DECLARE_OOXMLEXPORT_TEST(testArrowMarker, "tdf123346_ArrowMarker.docx")
"/a:graphic/a:graphicData/wps:wsp/wps:spPr/a:ln/a:tailEnd", "type", "arrow");
}
+DECLARE_OOXMLEXPORT_TEST(testShapeLineWidth, "tdf92526_ShapeLineWidth.odt")
+{
+ // tdf#92526: Make sure that line with stays 0.
+ xmlDocUniquePtr pXml = parseExport("word/document.xml");
+ if (!pXml)
+ return;
+
+ // "w" attribute was not exported.
+ assertXPath(pXml, "/w:document/w:body/w:p/w:r/mc:AlternateContent/mc:Choice/w:drawing"
+ "/wp:anchor/a:graphic/a:graphicData/wps:wsp/wps:spPr/a:ln", "w", "0");
+}
+
CPPUNIT_PLUGIN_IMPLEMENT();
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */