summaryrefslogtreecommitdiffstats
path: root/sw
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2014-12-10 17:06:28 +0100
committerMiklos Vajna <vmiklos@collabora.co.uk>2014-12-10 17:41:38 +0100
commitdbbfad3dfbee89c13956d3a9b4757c74a4a64cd2 (patch)
tree667cf5d4e8ae36195fb692836f23f5cf75c1d105 /sw
parentrevert writer won't allow us to enter multiple CrossRefBookmark (diff)
downloadcore-dbbfad3dfbee89c13956d3a9b4757c74a4a64cd2.tar.gz
core-dbbfad3dfbee89c13956d3a9b4757c74a4a64cd2.zip
DocxAttributeOutput::FlyFrameGraphic: avoid <a:ln> when there is no border
Change-Id: Ia94f490c0ad8c392bd8bbfbe889f5333c13e0022
Diffstat (limited to 'sw')
-rw-r--r--sw/qa/extras/ooxmlexport/data/image-noborder.docxbin0 -> 14305 bytes
-rw-r--r--sw/qa/extras/ooxmlexport/ooxmlexport5.cxx6
-rw-r--r--sw/source/filter/ww8/docxattributeoutput.cxx37
3 files changed, 28 insertions, 15 deletions
diff --git a/sw/qa/extras/ooxmlexport/data/image-noborder.docx b/sw/qa/extras/ooxmlexport/data/image-noborder.docx
new file mode 100644
index 000000000000..7e0fc90d23a0
--- /dev/null
+++ b/sw/qa/extras/ooxmlexport/data/image-noborder.docx
Binary files differ
diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport5.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport5.cxx
index 7d4f988426ec..89ead201944f 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport5.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport5.cxx
@@ -721,6 +721,12 @@ DECLARE_OOXMLEXPORT_TEST(testTblpprShape, "tblppr-shape.docx")
CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(2540), getProperty<sal_Int32>(xPageStyle, "LeftMargin"));
}
+DECLARE_OOXMLEXPORT_TEST(testImageNoborder, "image-noborder.docx")
+{
+ // This was 26; we exported border for an image that had no border.
+ CPPUNIT_ASSERT_EQUAL(static_cast<sal_uInt32>(0), getProperty<table::BorderLine2>(getShape(1), "TopBorder").LineWidth);
+}
+
CPPUNIT_PLUGIN_IMPLEMENT();
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/filter/ww8/docxattributeoutput.cxx b/sw/source/filter/ww8/docxattributeoutput.cxx
index 862d75486f79..c8a80c55a3f2 100644
--- a/sw/source/filter/ww8/docxattributeoutput.cxx
+++ b/sw/source/filter/ww8/docxattributeoutput.cxx
@@ -4215,21 +4215,28 @@ void DocxAttributeOutput::FlyFrameGraphic( const SwGrfNode* pGrfNode, const Size
m_pSerializer->singleElementNS( XML_a, XML_avLst,
FSEND );
m_pSerializer->endElementNS( XML_a, XML_prstGeom );
- m_pSerializer->singleElementNS( XML_a, XML_noFill,
- FSEND );
- m_pSerializer->startElementNS( XML_a, XML_ln,
- XML_w, "9525",
- FSEND );
- m_pSerializer->singleElementNS( XML_a, XML_noFill,
- FSEND );
- m_pSerializer->singleElementNS( XML_a, XML_miter,
- XML_lim, "800000",
- FSEND );
- m_pSerializer->singleElementNS( XML_a, XML_headEnd,
- FSEND );
- m_pSerializer->singleElementNS( XML_a, XML_tailEnd,
- FSEND );
- m_pSerializer->endElementNS( XML_a, XML_ln );
+
+ const SvxBoxItem& rBoxItem = pFrmFmt->GetBox();
+ const SvxBorderLine* pLeft = rBoxItem.GetLine(BOX_LINE_LEFT);
+ const SvxBorderLine* pRight = rBoxItem.GetLine(BOX_LINE_RIGHT);
+ const SvxBorderLine* pTop = rBoxItem.GetLine(BOX_LINE_TOP);
+ const SvxBorderLine* pBottom = rBoxItem.GetLine(BOX_LINE_BOTTOM);
+ if (pLeft || pRight || pTop || pBottom)
+ {
+ m_pSerializer->startElementNS( XML_a, XML_ln,
+ XML_w, "9525",
+ FSEND );
+ m_pSerializer->singleElementNS( XML_a, XML_noFill,
+ FSEND );
+ m_pSerializer->singleElementNS( XML_a, XML_miter,
+ XML_lim, "800000",
+ FSEND );
+ m_pSerializer->singleElementNS( XML_a, XML_headEnd,
+ FSEND );
+ m_pSerializer->singleElementNS( XML_a, XML_tailEnd,
+ FSEND );
+ m_pSerializer->endElementNS( XML_a, XML_ln );
+ }
m_rExport.SdrExporter().writeDMLEffectLst(*pFrmFmt);