oox smartart: fix width of shapes with agl=lin, linDir=fromT

Smaller width only makes sense in the fromL/fromR cases, I think.

Change-Id: I21c643b90556e47593b62abc2466e808d1ef31e5
Reviewed-on: https://gerrit.libreoffice.org/62024
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
This commit is contained in:
Miklos Vajna
2018-10-19 21:34:07 +02:00
parent 71fcb90fb7
commit b61d278427
2 changed files with 10 additions and 1 deletions
@@ -358,7 +358,9 @@ void AlgAtom::layoutShape( const ShapePtr& rShape,
awt::Size aChildSize = rShape->getSize();
aChildSize.Width /= (nCount + (nCount-1)*fSpace);
// Lineral vertically: no adjustment of width.
if (nDir != XML_fromT)
aChildSize.Width /= (nCount + (nCount-1)*fSpace);
aChildSize.Height /= (nCount + (nCount-1)*fSpace);
awt::Point aCurrPos(0, 0);
+7
View File
@@ -371,6 +371,13 @@ void SdImportTestSmartArt::testVertialBoxList()
// 'actual: 0'.
CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(2), xShapeGroup->getCount());
uno::Reference<drawing::XShape> xSecondChild(xShapeGroup->getByIndex(1), uno::UNO_QUERY);
CPPUNIT_ASSERT(xSecondChild.is());
// Without the accompanying fix in place, this test would have failed with
// 'actual: 7361' (and with the fix: 'actual: 16932', i.e. the width of the
// parent).
CPPUNIT_ASSERT_GREATER(static_cast<sal_Int32>(10000), xSecondChild->getSize().Width);
xDocShRef->DoClose();
}