chart2/source/view/charttypes/VSeriesPlotter.cxx | 8 +++++++- sw/qa/extras/layout/data/tdf134866.docx |binary sw/qa/extras/layout/layout.cxx | 16 ++++++++++++++++ 3 files changed, 23 insertions(+), 1 deletion(-)
New commits: commit c0fac974cefffb16e811259fbc66148712533190 Author: Tünde Tóth <tund...@gmail.com> AuthorDate: Fri Jul 24 10:06:40 2020 +0200 Commit: László Németh <nem...@numbertext.org> CommitDate: Mon Jul 27 14:11:10 2020 +0200 tdf#134866 Chart OOXML import: fix percentage in custom pie chart label Custom pie chart label showed incorrect percentage value. Follow-up of commit 8c1dc30cc9fc96ef3d3ab0c4445959473248ae4d (tdf#125444 Percentage as custom chart label). Change-Id: I2fe9cbca876da26a7c3a371c1e711b9e1fc33b1e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99353 Tested-by: László Németh <nem...@numbertext.org> Reviewed-by: László Németh <nem...@numbertext.org> diff --git a/chart2/source/view/charttypes/VSeriesPlotter.cxx b/chart2/source/view/charttypes/VSeriesPlotter.cxx index dbb8dbd8fbd4..14b322e8f587 100644 --- a/chart2/source/view/charttypes/VSeriesPlotter.cxx +++ b/chart2/source/view/charttypes/VSeriesPlotter.cxx @@ -533,7 +533,13 @@ uno::Reference< drawing::XShape > VSeriesPlotter::createDataLabel( const uno::Re } case DataPointCustomLabelFieldType_PERCENTAGE: { - aTextList[i] = getLabelTextForValue( rDataSeries, nPointIndex, fValue, true ); + if(fSumValue == 0.0) + fSumValue = 1.0; + fValue /= fSumValue; + if(fValue < 0) + fValue *= -1.0; + + aTextList[i] = getLabelTextForValue(rDataSeries, nPointIndex, fValue, true); break; } case DataPointCustomLabelFieldType_CELLREF: diff --git a/sw/qa/extras/layout/data/tdf134866.docx b/sw/qa/extras/layout/data/tdf134866.docx new file mode 100644 index 000000000000..3358b527133c Binary files /dev/null and b/sw/qa/extras/layout/data/tdf134866.docx differ diff --git a/sw/qa/extras/layout/layout.cxx b/sw/qa/extras/layout/layout.cxx index 710efbf54f89..d6249e412b44 100644 --- a/sw/qa/extras/layout/layout.cxx +++ b/sw/qa/extras/layout/layout.cxx @@ -2785,6 +2785,22 @@ CPPUNIT_TEST_FIXTURE(SwLayoutWriter, testTdf129173) pXmlDoc, "/metafile/push[1]/push[1]/push[1]/push[4]/push[1]/textarray[22]/text", "56"); } +CPPUNIT_TEST_FIXTURE(SwLayoutWriter, testTdf134866) +{ + SwDoc* pDoc = createDoc("tdf134866.docx"); + SwDocShell* pShell = pDoc->GetDocShell(); + + // Dump the rendering of the first page as an XML file. + std::shared_ptr<GDIMetaFile> xMetaFile = pShell->GetPreviewMetaFile(); + MetafileXmlDump dumper; + xmlDocUniquePtr pXmlDoc = dumpAndParse(dumper, *xMetaFile); + CPPUNIT_ASSERT(pXmlDoc); + + // Check the data label of pie chart. + assertXPathContent( + pXmlDoc, "/metafile/push[1]/push[1]/push[1]/push[4]/push[1]/textarray[2]/text", "100%"); +} + CPPUNIT_TEST_FIXTURE(SwLayoutWriter, testTdf130031) { SwDoc* pDoc = createDoc("tdf130031.docx"); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits