summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2015-12-15 22:45:41 +0100
committerMichael Stahl <mstahl@redhat.com>2015-12-15 22:48:14 +0100
commit2263a59aaf6bc1548046fdda422518a6365ffd17 (patch)
tree02319ac6fe39d7c03618b4572a6326c1db2681d0
parentdc8e7db79102ba8222387aef4f581d0aa8927e6d (diff)
sw: DOCX export: eliminate chart numbering non-determinism
... that was causing test failures on some but not all platforms. Change-Id: I0d04cd6e540ea2693a3ec8511d615a9b0fecf456 (cherry picked from commit c56e0858b081b4dfe78745cf80c829f6c3c2e7b8)
-rw-r--r--sw/qa/extras/ooxmlexport/ooxmlexport4.cxx4
-rw-r--r--sw/source/filter/ww8/docxattributeoutput.cxx6
-rw-r--r--sw/source/filter/ww8/docxattributeoutput.hxx2
3 files changed, 7 insertions, 5 deletions
diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport4.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport4.cxx
index a4503a3ecf9d..041e54b3e85a 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport4.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport4.cxx
@@ -828,13 +828,13 @@ DECLARE_OOXMLEXPORT_TEST(testContentTypeXLSM, "fdo76098.docx")
assertXPath(pXmlDoc, "/ContentType:Types/ContentType:Override[@PartName='/word/embeddings/Microsoft_Excel_Macro-Enabled_Worksheet1.xlsm']", "ContentType", "application/vnd.ms-excel.sheet.macroEnabled.12");
// check the rels too
- xmlDocPtr pXmlDocRels = parseExport("word/charts/_rels/chart2.xml.rels");
+ xmlDocPtr pXmlDocRels = parseExport("word/charts/_rels/chart1.xml.rels");
assertXPath(pXmlDocRels,
"/rels:Relationships/rels:Relationship[@Target='../embeddings/Microsoft_Excel_Macro-Enabled_Worksheet1.xlsm']",
"Type",
"http://schemas.openxmlformats.org/officeDocument/2006/relationships/package");
// check the content too
- xmlDocPtr pXmlDocChart1 = parseExport("word/charts/chart2.xml");
+ xmlDocPtr pXmlDocChart1 = parseExport("word/charts/chart1.xml");
assertXPath(pXmlDocChart1,
"/c:chartSpace/c:externalData",
"id",
diff --git a/sw/source/filter/ww8/docxattributeoutput.cxx b/sw/source/filter/ww8/docxattributeoutput.cxx
index a86b43802610..858f63015c5a 100644
--- a/sw/source/filter/ww8/docxattributeoutput.cxx
+++ b/sw/source/filter/ww8/docxattributeoutput.cxx
@@ -4468,10 +4468,9 @@ void DocxAttributeOutput::WritePostponedChart()
FSEND );
OString aRelId;
- static sal_Int32 nChartCount = 0;
- nChartCount++;
+ m_nChartCount++;
uno::Reference< frame::XModel > xModel( xChartDoc, uno::UNO_QUERY );
- aRelId = m_rExport.OutputChart( xModel, nChartCount, m_pSerializer );
+ aRelId = m_rExport.OutputChart( xModel, m_nChartCount, m_pSerializer );
m_pSerializer->singleElementNS( XML_c, XML_chart,
FSNS( XML_xmlns, XML_c ), "http://schemas.openxmlformats.org/drawingml/2006/chart",
@@ -8412,6 +8411,7 @@ DocxAttributeOutput::DocxAttributeOutput( DocxExport &rExport, FSHelperPtr pSeri
m_startedHyperlink( false ),
m_nHyperLinkCount(0),
m_nFieldsInHyperlink( 0 ),
+ m_nChartCount(0),
m_postponedChart( nullptr ),
pendingPlaceholder( nullptr ),
m_postitFieldsMaxId( 0 ),
diff --git a/sw/source/filter/ww8/docxattributeoutput.hxx b/sw/source/filter/ww8/docxattributeoutput.hxx
index 73abf8217fb0..d046ffb33cf9 100644
--- a/sw/source/filter/ww8/docxattributeoutput.hxx
+++ b/sw/source/filter/ww8/docxattributeoutput.hxx
@@ -862,6 +862,8 @@ private:
std::unique_ptr< std::list<PostponedOLE> > m_pPostponedOLEs;
std::vector<const SwOLENode*> m_aPostponedMaths;
+ /// count charts consistently for unit tests
+ unsigned int m_nChartCount;
const SdrObject* m_postponedChart;
Size m_postponedChartSize;
std::vector<const SdrObject*> m_aPostponedFormControls;