diff options
author | Zolnai Tamás <zolnaitamas2000@gmail.com> | 2015-12-20 14:21:43 +0100 |
---|---|---|
committer | Zolnai Tamás <zolnaitamas2000@gmail.com> | 2015-12-22 10:42:44 +0100 |
commit | a9db17aabc3ac970e6e4754e28310d20138144d9 (patch) | |
tree | 09fe31daa3ae5f4e31cb712e546ac0b9443f2183 | |
parent | 44f2edbf7a4f6f369a670ba32e7d1cc354c4fd6d (diff) |
tdf#96051: FILESAVE: Roundtrip any PPTX file with Shapes creates invalid OOXML
Revert "bnc#584721: Import subtitle block to master slides"
This reverts commit b3d50feaa87b670baf68288974005ac26ad31736.
It seems the imported subtitle block makes export corrupt the
output. Better to have a valid output.
Change-Id: I1a3d4f03e4fa0c4431a5394495682a1b9d7677bc
-rw-r--r-- | oox/source/ppt/pptshape.cxx | 9 | ||||
-rw-r--r-- | sd/qa/unit/data/pptx/bnc584721_3.pptx | bin | 16376 -> 0 bytes | |||
-rw-r--r-- | sd/qa/unit/import-tests.cxx | 24 |
3 files changed, 6 insertions, 27 deletions
diff --git a/oox/source/ppt/pptshape.cxx b/oox/source/ppt/pptshape.cxx index 869d0c41f59e..ce9b835c2b5f 100644 --- a/oox/source/ppt/pptshape.cxx +++ b/oox/source/ppt/pptshape.cxx @@ -144,9 +144,12 @@ void PPTShape::addShape( break; case XML_subTitle : { - sServiceName = "com.sun.star.presentation.SubtitleShape"; - aMasterTextListStyle = rSlidePersist.getMasterPersist().get() ? rSlidePersist.getMasterPersist()->getBodyTextStyle() : rSlidePersist.getBodyTextStyle(); - bClearText = true; + if ( ( meShapeLocation == Master ) || ( meShapeLocation == Layout ) ) + sServiceName = OUString(); + else { + sServiceName = "com.sun.star.presentation.SubtitleShape"; + aMasterTextListStyle = rSlidePersist.getMasterPersist().get() ? rSlidePersist.getMasterPersist()->getBodyTextStyle() : rSlidePersist.getBodyTextStyle(); + } } break; case XML_obj : diff --git a/sd/qa/unit/data/pptx/bnc584721_3.pptx b/sd/qa/unit/data/pptx/bnc584721_3.pptx Binary files differdeleted file mode 100644 index 38662575e502..000000000000 --- a/sd/qa/unit/data/pptx/bnc584721_3.pptx +++ /dev/null diff --git a/sd/qa/unit/import-tests.cxx b/sd/qa/unit/import-tests.cxx index bc2b3a497b02..3fb64ffadf51 100644 --- a/sd/qa/unit/import-tests.cxx +++ b/sd/qa/unit/import-tests.cxx @@ -91,7 +91,6 @@ public: void testCreationDate(); void testBnc584721_1(); void testBnc584721_2(); - void testBnc584721_3(); void testBnc584721_4(); void testBnc904423(); void testShapeLineStyle(); @@ -133,7 +132,6 @@ public: CPPUNIT_TEST(testCreationDate); CPPUNIT_TEST(testBnc584721_1); CPPUNIT_TEST(testBnc584721_2); - CPPUNIT_TEST(testBnc584721_3); CPPUNIT_TEST(testBnc584721_4); CPPUNIT_TEST(testBnc904423); CPPUNIT_TEST(testShapeLineStyle); @@ -800,28 +798,6 @@ void SdImportTest::testBnc584721_2() xDocShRef->DoClose(); } -void SdImportTest::testBnc584721_3() -{ - // Subtitle was simply skipped on master slides. - // Check whether the second shape is a subtitle shape with the right text. - - sd::DrawDocShellRef xDocShRef = loadURL(getURLFromSrc("/sd/qa/unit/data/pptx/bnc584721_3.pptx"), PPTX); - - const SdrPage *pPage = &(GetPage( 1, xDocShRef )->TRG_GetMasterPage()); - SdrTextObj *pTxtObj = dynamic_cast<SdrTextObj *>( pPage->GetObj(1) ); - CPPUNIT_ASSERT_MESSAGE( "no text object", pTxtObj != nullptr); - - // Check the shape type - uno::Reference< drawing::XShape > xShape( pTxtObj->getUnoShape(), uno::UNO_QUERY ); - CPPUNIT_ASSERT_EQUAL(OUString("com.sun.star.presentation.SubtitleShape"), xShape->getShapeType()); - - // Check the text - const EditTextObject& aEdit = pTxtObj->GetOutlinerParaObject()->GetTextObject(); - CPPUNIT_ASSERT_EQUAL(OUString("Click to edit Master subtitle style"), aEdit.GetText(0)); - - xDocShRef->DoClose(); -} - void SdImportTest::testBnc591147() { sd::DrawDocShellRef xDocShRef = loadURL(getURLFromSrc("/sd/qa/unit/data/pptx/bnc591147.pptx"), PPTX); |