oox/source/export/shapes.cxx | 3 +-- sd/qa/unit/data/odp/tdf151492.odp |binary sd/qa/unit/export-tests-ooxml2.cxx | 16 ++++++++++++++++ 3 files changed, 17 insertions(+), 2 deletions(-)
New commits: commit 097a2de6428f834d28fa78af203d3c0b6577656e Author: Tibor Nagy <nagy.tib...@nisz.hu> AuthorDate: Sun Oct 16 09:32:33 2022 +0200 Commit: László Németh <nem...@numbertext.org> CommitDate: Thu Oct 27 18:17:26 2022 +0200 tdf#151492 PPTX export: fix connection points regression caused by commit 4d153517183193f468dee9148c94fe9d874bacb3 (tdf#149697 PPTX export: fix changing place of connection points). Change-Id: I6134f18f3c32182a2f5d7295e2511da192dd20c0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141427 Tested-by: László Németh <nem...@numbertext.org> Reviewed-by: László Németh <nem...@numbertext.org> diff --git a/oox/source/export/shapes.cxx b/oox/source/export/shapes.cxx index c7b5699993f4..d102880af7bd 100644 --- a/oox/source/export/shapes.cxx +++ b/oox/source/export/shapes.cxx @@ -1643,8 +1643,7 @@ static sal_Int32 lcl_GetGluePointId(const Reference<XShape>& xShape, sal_Int32& uno::Reference<drawing::XGluePointsSupplier> xSupplier(xShape, uno::UNO_QUERY); uno::Reference<container::XIdentifierAccess> xGluePoints(xSupplier->getGluePoints(), uno::UNO_QUERY); - sal_uInt32 nCount = xGluePoints->getIdentifiers().size(); - if (nCount > 4) + if (nGluePointId > 3) nGluePointId -= 4; else { diff --git a/sd/qa/unit/data/odp/tdf151492.odp b/sd/qa/unit/data/odp/tdf151492.odp new file mode 100644 index 000000000000..6928dac5982d Binary files /dev/null and b/sd/qa/unit/data/odp/tdf151492.odp differ diff --git a/sd/qa/unit/export-tests-ooxml2.cxx b/sd/qa/unit/export-tests-ooxml2.cxx index 928ecab95997..6b7e934a176f 100644 --- a/sd/qa/unit/export-tests-ooxml2.cxx +++ b/sd/qa/unit/export-tests-ooxml2.cxx @@ -70,6 +70,7 @@ static void assertMotionPath(std::u16string_view rStr1, std::u16string_view rStr class SdOOXMLExportTest2 : public SdModelTestBaseXML { public: + void testTdf151492(); void testTdf149697(); void testTdf149126(); void testTdf131905(); @@ -139,6 +140,7 @@ public: CPPUNIT_TEST_SUITE(SdOOXMLExportTest2); + CPPUNIT_TEST(testTdf151492); CPPUNIT_TEST(testTdf149697); CPPUNIT_TEST(testTdf149126); CPPUNIT_TEST(testTdf131905); @@ -214,6 +216,20 @@ public: } }; +void SdOOXMLExportTest2::testTdf151492() +{ + ::sd::DrawDocShellRef xDocShRef + = loadURL(m_directories.getURLFromSrc(u"/sd/qa/unit/data/odp/tdf151492.odp"), ODP); + utl::TempFileNamed tempFile; + xDocShRef = saveAndReload(xDocShRef.get(), PPTX, &tempFile); + + xmlDocUniquePtr pXmlDocContent = parseExport(tempFile, "ppt/slides/slide1.xml"); + assertXPath(pXmlDocContent, "/p:sld/p:cSld/p:spTree/p:cxnSp/p:nvCxnSpPr/p:cNvCxnSpPr/a:stCxn", + "idx", "0"); + + xDocShRef->DoClose(); +} + void SdOOXMLExportTest2::testTdf149697() { ::sd::DrawDocShellRef xDocShRef