oox/source/ppt/pptshape.cxx         |    2 +-
 sd/qa/unit/data/pptx/tdf142645.pptx |binary
 sd/qa/unit/import-tests.cxx         |   16 ++++++++++++++++
 3 files changed, 17 insertions(+), 1 deletion(-)

New commits:
commit 9919b1c017dca81f5bf54aa27f0fda615c1bd2da
Author:     Tibor Nagy <nagy.tib...@nisz.hu>
AuthorDate: Mon Aug 30 12:26:39 2021 +0200
Commit:     Xisco Fauli <xiscofa...@libreoffice.org>
CommitDate: Tue Aug 31 17:53:23 2021 +0200

    tdf#142645 PPTX import: convert "ctrTitle" text to slide name
    
    (i.e. centered title) similar to <p:ph type="title"/>.
    
    See commit 7eb0e52527e729a21973e70d5be8e0a6779ec748
    "tdf#142648 PPTX: import long slide names to avoid broken link export",
    commit 253bee65bc24d999c3629a4d503d0fa01b355cfc
    "tdf#142646 PPTX import: count repeating slide names" etc.
    
    Change-Id: I5f25f04f23981ce2ff64dc792fe8464682d749a2
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121295
    Tested-by: László Németh <nem...@numbertext.org>
    Reviewed-by: László Németh <nem...@numbertext.org>
    (cherry picked from commit e5cfda76aefd6996813f461198816be24cd6ad43)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121289
    Tested-by: Jenkins
    Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org>

diff --git a/oox/source/ppt/pptshape.cxx b/oox/source/ppt/pptshape.cxx
index b72e6d854fc6..1c78c652526e 100644
--- a/oox/source/ppt/pptshape.cxx
+++ b/oox/source/ppt/pptshape.cxx
@@ -335,7 +335,7 @@ void PPTShape::addShape(
 
             Reference< XShape > xShape( createAndInsert( rFilterBase, 
sServiceName, pTheme, rxShapes, bClearText, bool(mpPlaceholder), 
aTransformation, getFillProperties() ) );
             // if exists and not duplicated, try to use the title text as 
slide name to help its re-use on UI
-            if (!rSlidePersist.isMasterPage() && rSlidePersist.getPage().is() 
&& mnSubType == XML_title)
+            if (!rSlidePersist.isMasterPage() && rSlidePersist.getPage().is() 
&& (mnSubType == XML_title || mnSubType == XML_ctrTitle))
             {
                 try
                 {
diff --git a/sd/qa/unit/data/pptx/tdf142645.pptx 
b/sd/qa/unit/data/pptx/tdf142645.pptx
new file mode 100644
index 000000000000..e57bd9ee176e
Binary files /dev/null and b/sd/qa/unit/data/pptx/tdf142645.pptx differ
diff --git a/sd/qa/unit/import-tests.cxx b/sd/qa/unit/import-tests.cxx
index 742fb7712750..bdd27236c74a 100644
--- a/sd/qa/unit/import-tests.cxx
+++ b/sd/qa/unit/import-tests.cxx
@@ -122,6 +122,7 @@ public:
     virtual void setUp() override;
 
     void testDocumentLayout();
+    void testTdf142645();
     void testTdf142915();
     void testTdf142913();
     void testTdf142590();
@@ -244,6 +245,7 @@ public:
     CPPUNIT_TEST_SUITE(SdImportTest);
 
     CPPUNIT_TEST(testDocumentLayout);
+    CPPUNIT_TEST(testTdf142645);
     CPPUNIT_TEST(testTdf142915);
     CPPUNIT_TEST(testTdf142913);
     CPPUNIT_TEST(testTdf142590);
@@ -442,6 +444,20 @@ void SdImportTest::testDocumentLayout()
     }
 }
 
+void SdImportTest::testTdf142645()
+{
+    sd::DrawDocShellRef xDocShRef
+        = 
loadURL(m_directories.getURLFromSrc(u"/sd/qa/unit/data/pptx/tdf142645.pptx"), 
PPTX);
+    uno::Reference<drawing::XDrawPagesSupplier> 
xDoc(xDocShRef->GetDoc()->getUnoModel(),
+                                                     uno::UNO_QUERY_THROW);
+
+    uno::Reference<drawing::XDrawPage> 
xPage1(xDoc->getDrawPages()->getByIndex(0), uno::UNO_QUERY);
+    uno::Reference<container::XNamed> xNamed1(xPage1, uno::UNO_QUERY_THROW);
+    CPPUNIT_ASSERT_EQUAL(OUString("Hello"), xNamed1->getName());
+
+    xDocShRef->DoClose();
+}
+
 void SdImportTest::testTdf142915()
 {
     ::sd::DrawDocShellRef xDocShRef

Reply via email to