diff options
author | Zolnai Tamás <zolnaitamas2000@gmail.com> | 2015-12-20 14:21:43 +0100 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2016-01-11 16:19:32 +0000 |
commit | e18c062be49042945644db438608a6e58c7dc98a (patch) | |
tree | 3ba9ca29b9cc29f27366f7e5af4542dfd3cd687d | |
parent | c5f4c528123d6c65b489ac18ab7892bc92866b09 (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.
(cherry picked from commit a9db17aabc3ac970e6e4754e28310d20138144d9)
Conflicts:
sd/qa/unit/import-tests.cxx
Change-Id: I1a3d4f03e4fa0c4431a5394495682a1b9d7677bc
Reviewed-on: https://gerrit.libreoffice.org/20921
Reviewed-by: Michael Stahl <mstahl@redhat.com>
Tested-by: Michael Stahl <mstahl@redhat.com>
-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 | 27 |
3 files changed, 6 insertions, 30 deletions
diff --git a/oox/source/ppt/pptshape.cxx b/oox/source/ppt/pptshape.cxx index cf61562ae6ad..f347639040ec 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 bdedca1b325b..53f14e8a3d40 100644 --- a/sd/qa/unit/import-tests.cxx +++ b/sd/qa/unit/import-tests.cxx @@ -92,7 +92,6 @@ public: void testCreationDate(); void testBnc584721_1(); void testBnc584721_2(); - void testBnc584721_3(); void testBnc584721_4(); void testBnc904423(); void testShapeLineStyle(); @@ -134,7 +133,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); @@ -862,31 +860,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); - - SdDrawDocument *pDoc = xDocShRef->GetDoc(); - CPPUNIT_ASSERT_MESSAGE( "no document", pDoc != NULL ); - const SdrPage *pPage = &(pDoc->GetPage(1)->TRG_GetMasterPage()); - CPPUNIT_ASSERT_MESSAGE( "no page", pPage != NULL ); - SdrTextObj *pTxtObj = dynamic_cast<SdrTextObj *>( pPage->GetObj(1) ); - CPPUNIT_ASSERT_MESSAGE( "no text object", pTxtObj != NULL); - - // 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); |