oox/source/drawingml/diagram/diagramlayoutatoms.cxx | 6 ++++-- sd/qa/unit/data/pptx/smartart-accent-process.pptx |binary sd/qa/unit/import-tests-smartart.cxx | 4 +++- 3 files changed, 7 insertions(+), 3 deletions(-)
New commits: commit 1571c42e1fe64c6146161b08585737d3ba288629 Author: Miklos Vajna <vmik...@collabora.com> AuthorDate: Wed Nov 21 17:40:36 2018 +0100 Commit: Miklos Vajna <vmik...@collabora.com> CommitDate: Mon Dec 17 13:33:27 2018 +0100 oox smartart, accent process: handle multiple runs from a data point Multiple paragraphs indeed are impossible for those containers, but multiple runs can happen. Change-Id: I47a2f72cae4cbb822f31a5b7cd0169a663e2a6a8 Reviewed-on: https://gerrit.libreoffice.org/63732 Reviewed-by: Miklos Vajna <vmik...@collabora.com> Tested-by: Jenkins (cherry picked from commit cfa76f538a44d4396574ece59e8a3953c22c6eb7) Reviewed-on: https://gerrit.libreoffice.org/65249 diff --git a/oox/source/drawingml/diagram/diagramlayoutatoms.cxx b/oox/source/drawingml/diagram/diagramlayoutatoms.cxx index bb5ed2ad7704..52a05ccdb53d 100644 --- a/oox/source/drawingml/diagram/diagramlayoutatoms.cxx +++ b/oox/source/drawingml/diagram/diagramlayoutatoms.cxx @@ -875,8 +875,10 @@ bool LayoutNode::setupShape( const ShapePtr& rShape, const dgm::Point* pPresNode if( aVecIter->second != -1 ) rPara.getProperties().setLevel(aVecIter->second); - rPara.addRun( - aDataNode2->second->mpShape->getTextBody()->getParagraphs().front()->getRuns().front()); + std::shared_ptr<TextParagraph> pSourceParagraph + = aDataNode2->second->mpShape->getTextBody()->getParagraphs().front(); + for (const auto& pRun : pSourceParagraph->getRuns()) + rPara.addRun(pRun); rPara.getProperties().apply( aDataNode2->second->mpShape->getTextBody()->getParagraphs().front()->getProperties()); } diff --git a/sd/qa/unit/data/pptx/smartart-accent-process.pptx b/sd/qa/unit/data/pptx/smartart-accent-process.pptx index de556bdc6066..8710e7f170a9 100644 Binary files a/sd/qa/unit/data/pptx/smartart-accent-process.pptx and b/sd/qa/unit/data/pptx/smartart-accent-process.pptx differ diff --git a/sd/qa/unit/import-tests-smartart.cxx b/sd/qa/unit/import-tests-smartart.cxx index f431cdddfa03..7c46270015ee 100644 --- a/sd/qa/unit/import-tests-smartart.cxx +++ b/sd/qa/unit/import-tests-smartart.cxx @@ -494,7 +494,9 @@ void SdImportTestSmartArt::testAccentProcess() CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(3), xSecondPair->getCount()); uno::Reference<text::XText> xSecondParentText(xSecondPair->getByIndex(1), uno::UNO_QUERY); CPPUNIT_ASSERT(xFirstParentText.is()); - CPPUNIT_ASSERT_EQUAL(OUString("c"), xSecondParentText->getString()); + // Without the accompanying fix in place, this test would have failed with + // 'Expected: cc; Actual : c', i.e. non-first runs on data points were ignored. + CPPUNIT_ASSERT_EQUAL(OUString("cc"), xSecondParentText->getString()); uno::Reference<drawing::XShape> xSecondParent(xSecondParentText, uno::UNO_QUERY); CPPUNIT_ASSERT(xSecondParent.is()); int nSecondParentLeft = xSecondParent->getPosition().X; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits