summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZolnai Tamás <zolnaitamas2000@gmail.com>2015-12-20 14:21:43 +0100
committerAndras Timar <andras.timar@collabora.com>2016-01-18 22:53:25 +0100
commitb634f8d675b362e47fa555df7fb0cdeb5753f5b3 (patch)
tree5aab970064b959cc42b148220e23d2600017e326
parent548b1bb28950dfed7c095614d913f4daf7c14ec3 (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> (cherry picked from commit e18c062be49042945644db438608a6e58c7dc98a)
-rw-r--r--oox/source/ppt/pptshape.cxx9
-rw-r--r--sd/qa/unit/data/pptx/bnc584721_3.pptxbin16376 -> 0 bytes
-rw-r--r--sd/qa/unit/import-tests.cxx27
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
deleted file mode 100644
index 38662575e502..000000000000
--- a/sd/qa/unit/data/pptx/bnc584721_3.pptx
+++ /dev/null
Binary files differ
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);