From dc024cdd91e3c33eeff8eea22fdef0d90d4dd2c0 Mon Sep 17 00:00:00 2001 From: Tamás Zolnai Date: Thu, 10 Nov 2016 00:41:49 +0100 Subject: tdf#103792: No placeholder text imported for empty title shape MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I95b4358f0d4311e8f427c8de18863049fb718d9b Reviewed-on: https://gerrit.libreoffice.org/30731 Tested-by: Jenkins Reviewed-by: Tamás Zolnai --- oox/source/drawingml/shape.cxx | 2 +- oox/source/ppt/pptshape.cxx | 1 - sd/qa/unit/data/pptx/tdf103792.pptx | Bin 0 -> 14273 bytes sd/qa/unit/import-tests.cxx | 20 ++++++++++++++++++++ 4 files changed, 21 insertions(+), 2 deletions(-) create mode 100755 sd/qa/unit/data/pptx/tdf103792.pptx diff --git a/oox/source/drawingml/shape.cxx b/oox/source/drawingml/shape.cxx index 1befb50c1e7d..159dc6449708 100644 --- a/oox/source/drawingml/shape.cxx +++ b/oox/source/drawingml/shape.cxx @@ -1140,7 +1140,7 @@ Reference< XShape > const & Shape::createAndInsert( } } } - + xText->setString(""); Reference < XTextCursor > xAt = xText->createTextCursor(); getTextBody()->insertAt( rFilterBase, xText, xAt, aCharStyleProperties, mpMasterTextListStyle ); } diff --git a/oox/source/ppt/pptshape.cxx b/oox/source/ppt/pptshape.cxx index 9a673b73a8b5..18a256595ae8 100644 --- a/oox/source/ppt/pptshape.cxx +++ b/oox/source/ppt/pptshape.cxx @@ -142,7 +142,6 @@ void PPTShape::addShape( { sServiceName = "com.sun.star.presentation.TitleTextShape"; aMasterTextListStyle = rSlidePersist.getMasterPersist().get() ? rSlidePersist.getMasterPersist()->getTitleTextStyle() : rSlidePersist.getTitleTextStyle(); - bClearText = true; } break; case XML_subTitle : diff --git a/sd/qa/unit/data/pptx/tdf103792.pptx b/sd/qa/unit/data/pptx/tdf103792.pptx new file mode 100755 index 000000000000..e48d25e40aba Binary files /dev/null and b/sd/qa/unit/data/pptx/tdf103792.pptx differ diff --git a/sd/qa/unit/import-tests.cxx b/sd/qa/unit/import-tests.cxx index 7fded515c189..a4d6dbe7bf9e 100644 --- a/sd/qa/unit/import-tests.cxx +++ b/sd/qa/unit/import-tests.cxx @@ -127,6 +127,7 @@ public: void testTdf99030(); void testTdf49561(); void testTdf103473(); + void testTdf103792(); CPPUNIT_TEST_SUITE(SdImportTest); @@ -179,6 +180,7 @@ public: CPPUNIT_TEST(testTdf99030); CPPUNIT_TEST(testTdf49561); CPPUNIT_TEST(testTdf103473); + CPPUNIT_TEST(testTdf103792); CPPUNIT_TEST_SUITE_END(); }; @@ -1504,6 +1506,24 @@ void SdImportTest::testTdf103473() xDocShRef->DoClose(); } +void SdImportTest::testTdf103792() +{ + // Title text shape on the actual slide contained no text neither a placeholder text. + sd::DrawDocShellRef xDocShRef = loadURL(m_directories.getURLFromSrc("/sd/qa/unit/data/pptx/tdf103792.pptx"), PPTX); + + const SdrPage *pPage = GetPage(1, xDocShRef); + CPPUNIT_ASSERT_MESSAGE("No page found", pPage != nullptr); + SdrObject *pObj = pPage->GetObj(0); + CPPUNIT_ASSERT_MESSAGE("Wrong object", pObj != nullptr); + SdrTextObj *pTxtObj = dynamic_cast(pObj); + CPPUNIT_ASSERT_MESSAGE("Not a text object", pTxtObj != nullptr); + + const EditTextObject& aEdit = pTxtObj->GetOutlinerParaObject()->GetTextObject(); + CPPUNIT_ASSERT_EQUAL(OUString("Click to add Title"), aEdit.GetText(0)); + + xDocShRef->DoClose(); +} + CPPUNIT_TEST_SUITE_REGISTRATION(SdImportTest); CPPUNIT_PLUGIN_IMPLEMENT(); -- cgit v1.2.3