summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZolnai Tamás <zolnaitamas2000@gmail.com>2015-12-20 14:21:43 +0100
committerZolnai Tamás <zolnaitamas2000@gmail.com>2015-12-22 10:42:44 +0100
commita9db17aabc3ac970e6e4754e28310d20138144d9 (patch)
tree09fe31daa3ae5f4e31cb712e546ac0b9443f2183
parent44f2edbf7a4f6f369a670ba32e7d1cc354c4fd6d (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.cxx9
-rw-r--r--sd/qa/unit/data/pptx/bnc584721_3.pptxbin16376 -> 0 bytes
-rw-r--r--sd/qa/unit/import-tests.cxx24
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
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 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);