oox/source/drawingml/transform2dcontext.cxx | 3 ++- sd/qa/unit/data/pptx/tdf93830.pptx |binary sd/qa/unit/import-tests.cxx | 25 +++++++++++++++++++++++++ 3 files changed, 27 insertions(+), 1 deletion(-)
New commits: commit dd6de340972b9a17517e27db9b5f598ab7d05bc5 Author: Andras Timar <andras.ti...@collabora.com> Date: Tue Sep 1 10:46:42 2015 +0200 tdf#93830 txXfrm offset workaround works in rounded rectangle case as well Change-Id: I5d8df5c0d55e8dfd7c978b16b2b220c127f3dac9 Reviewed-on: https://gerrit.libreoffice.org/18226 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Andras Timar <andras.ti...@collabora.com> (cherry picked from commit cc88a88caad591270760d947848ad0a032d32bdb) Reviewed-on: https://gerrit.libreoffice.org/18270 Reviewed-by: Miklos Vajna <vmik...@collabora.co.uk> diff --git a/oox/source/drawingml/transform2dcontext.cxx b/oox/source/drawingml/transform2dcontext.cxx index 10bd727..3f4b35f 100644 --- a/oox/source/drawingml/transform2dcontext.cxx +++ b/oox/source/drawingml/transform2dcontext.cxx @@ -66,7 +66,8 @@ ContextHandlerRef Transform2DContext::onCreateContext( sal_Int32 aElementToken, { const OUString sXValue = rAttribs.getString( XML_x ).get(); const OUString sYValue = rAttribs.getString( XML_y ).get(); - if( !sXValue.isEmpty() && nType == XML_rect ) + + if( !sXValue.isEmpty() ) mrShape.getTextBody()->getTextProperties().moTextOffLeft = GetCoordinate( sXValue.toInt32() - mrShape.getPosition().X ); if( !sYValue.isEmpty() ) mrShape.getTextBody()->getTextProperties().moTextOffUpper = GetCoordinate( sYValue.toInt32() - mrShape.getPosition().Y ); diff --git a/sd/qa/unit/data/pptx/tdf93830.pptx b/sd/qa/unit/data/pptx/tdf93830.pptx new file mode 100644 index 0000000..8415daf Binary files /dev/null and b/sd/qa/unit/data/pptx/tdf93830.pptx differ diff --git a/sd/qa/unit/import-tests.cxx b/sd/qa/unit/import-tests.cxx index a1b9703..654b228 100644 --- a/sd/qa/unit/import-tests.cxx +++ b/sd/qa/unit/import-tests.cxx @@ -104,6 +104,7 @@ public: void testBulletSuffix(); void testBnc910045(); void testRowHeight(); + void testTdf93830(); CPPUNIT_TEST_SUITE(SdImportTest); @@ -143,6 +144,7 @@ public: CPPUNIT_TEST(testBulletSuffix); CPPUNIT_TEST(testBnc910045); CPPUNIT_TEST(testRowHeight); + CPPUNIT_TEST(testTdf93830); CPPUNIT_TEST_SUITE_END(); }; @@ -1200,6 +1202,29 @@ void SdImportTest::testRowHeight() CPPUNIT_ASSERT_EQUAL( sal_Int32(508), nHeight); } +void SdImportTest::testTdf93830() +{ + // Text shape offset was ignored + sd::DrawDocShellRef xDocShRef = loadURL(getURLFromSrc("/sd/qa/unit/data/pptx/tdf93830.pptx"), PPTX); + + uno::Reference< drawing::XDrawPagesSupplier > xDoc( + xDocShRef->GetDoc()->getUnoModel(), uno::UNO_QUERY_THROW ); + + uno::Reference< drawing::XDrawPage > xPage( + xDoc->getDrawPages()->getByIndex(0), uno::UNO_QUERY_THROW ); + + // Get the first text box from group shape + uno::Reference< container::XIndexAccess > xShape( xPage->getByIndex(0), uno::UNO_QUERY ); + uno::Reference< beans::XPropertySet > xPropSet( xShape->getByIndex(2), uno::UNO_QUERY ); + CPPUNIT_ASSERT_MESSAGE( "no textbox shape", xPropSet.is() ); + + sal_Int32 nTextLeftDistance = 0; + xPropSet->getPropertyValue( "TextLeftDistance" ) >>= nTextLeftDistance; + CPPUNIT_ASSERT_EQUAL(sal_Int32(4152), nTextLeftDistance); + + xDocShRef->DoClose(); +} + CPPUNIT_TEST_SUITE_REGISTRATION(SdImportTest); CPPUNIT_PLUGIN_IMPLEMENT(); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits