From 8c653a9badf2b3383215ac5cfd2630a7af1853e7 Mon Sep 17 00:00:00 2001 From: Miklos Vajna Date: Tue, 4 Aug 2020 10:58:00 +0200 Subject: oox smartart: add support for This changes the order of children, which matters when they have no explicit ZOrder. With this, the text shapes on the arrow shape are on top of the arrow, not behind it. The trick is that nominally chOrder can be "t"(op) or "b"(ottom), defaulting to bottom, but there is a difference between an explicit "b" and not setting it. When not setting it, the layout node is expected to inherit it from its parent layout node, recursively. This would probably make sense for other algorithms as well, but set it only for the linear algorithm for now, as that's where we have a bug document showing the PowerPoint behavior. (cherry picked from commit 3c185bf386b4c9609ab32d19bf95b83fe0eeeea3) Change-Id: I433f92c620149ef5590aebc8cbf43110e1d2fb85 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100115 Tested-by: Jenkins CollaboraOffice Reviewed-by: Miklos Vajna --- sd/qa/unit/import-tests-smartart.cxx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'sd') diff --git a/sd/qa/unit/import-tests-smartart.cxx b/sd/qa/unit/import-tests-smartart.cxx index 4425c560d676..110b7d2c81ea 100644 --- a/sd/qa/unit/import-tests-smartart.cxx +++ b/sd/qa/unit/import-tests-smartart.cxx @@ -1498,8 +1498,9 @@ void SdImportTestSmartArt::testLinearRule() sd::DrawDocShellRef xDocShRef = loadURL(m_directories.getURLFromSrc("/sd/qa/unit/data/pptx/smartart-linear-rule.pptx"), PPTX); uno::Reference xGroup(getShapeFromPage(0, 0, xDocShRef), uno::UNO_QUERY); - // Last child, then again last child. - uno::Reference xShape = getChildShape(getChildShape(xGroup, 1), 3); + // Last child, then first child inside that. + // It is first as backgroundArrow is last, but chOrder="t" is set to reverse the order. + uno::Reference xShape = getChildShape(getChildShape(xGroup, 1), 0); // Without the accompanying fix in place, this test would have failed with: // - Expected greater than: 17500 (19867) -- cgit