From a913faf181afb8b8718711eba0ad0cceec961f01 Mon Sep 17 00:00:00 2001 From: Aron Budea Date: Tue, 18 Nov 2025 12:31:21 +1030 Subject: [PATCH] tdf#169496 oox: hidden images in PPTX/XLSX shown after roundtrip Because 'hidden' attribute of 'cNvPr' wasn't exported. Change-Id: I5f8a79232e3b76f04269caae0631ba5b9710443a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194142 Tested-by: Jenkins Reviewed-by: Mike Kaganski Reviewed-by: Aron Budea --- oox/source/export/shapes.cxx | 6 ++- .../data/xlsx/tdf169496_hidden_graphic.xlsx | Bin 0 -> 12470 bytes sc/qa/unit/subsequent_export_test4.cxx | 39 ++++++++++++++++++ .../data/pptx/tdf169496_hidden_graphic.pptx | Bin 0 -> 35202 bytes sd/qa/unit/export-tests-ooxml4.cxx | 37 +++++++++++++++++ 5 files changed, 81 insertions(+), 1 deletion(-) create mode 100644 sc/qa/unit/data/xlsx/tdf169496_hidden_graphic.xlsx create mode 100644 sd/qa/unit/data/pptx/tdf169496_hidden_graphic.pptx diff --git a/oox/source/export/shapes.cxx b/oox/source/export/shapes.cxx index 8382d9789d83..6f9c7ea2c7b4 100644 --- a/oox/source/export/shapes.cxx +++ b/oox/source/export/shapes.cxx @@ -1418,11 +1418,14 @@ void ShapeExport::WriteGraphicObjectShapePart( const Reference< XShape >& xShape presentation::ClickAction eClickAction = presentation::ClickAction_NONE; OUString sDescr, sURL, sBookmark, sPPAction; + bool bVisible = true; if ( GetProperty( xShapeProps, u"Description"_ustr ) ) mAny >>= sDescr; if ( GetProperty( xShapeProps, u"URL"_ustr ) ) mAny >>= sURL; + if ( GetProperty( xShapeProps, u"Visible"_ustr ) ) + mAny >>= bVisible; if (GetProperty(xShapeProps, u"Bookmark"_ustr)) mAny >>= sBookmark; if (GetProperty(xShapeProps, u"OnClick"_ustr)) @@ -1431,7 +1434,8 @@ void ShapeExport::WriteGraphicObjectShapePart( const Reference< XShape >& xShape pFS->startElementNS( mnXmlNamespace, XML_cNvPr, XML_id, OString::number(GetNewShapeID(xShape)), XML_name, GetShapeName(xShape), - XML_descr, sax_fastparser::UseIf(sDescr, !sDescr.isEmpty())); + XML_descr, sax_fastparser::UseIf(sDescr, !sDescr.isEmpty()), + XML_hidden, sax_fastparser::UseIf("1", !bVisible)); if (eClickAction != presentation::ClickAction_NONE) { diff --git a/sc/qa/unit/data/xlsx/tdf169496_hidden_graphic.xlsx b/sc/qa/unit/data/xlsx/tdf169496_hidden_graphic.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..ce1a9a75c14a9b2b4588ec4936771c3e1f75821d GIT binary patch literal 12470 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 H?`r=CU3fK; literal 0 HcmV?d00001 diff --git a/sc/qa/unit/subsequent_export_test4.cxx b/sc/qa/unit/subsequent_export_test4.cxx index 745ed2c1f4b4..1bb4c3d3bba9 100644 --- a/sc/qa/unit/subsequent_export_test4.cxx +++ b/sc/qa/unit/subsequent_export_test4.cxx @@ -935,6 +935,45 @@ CPPUNIT_TEST_FIXTURE(ScExportTest4, testTdf139258_rotated_image) assertXPathContent(pDrawing, "/xdr:wsDr/xdr:twoCellAnchor/xdr:to/xdr:row", u"25"); } +CPPUNIT_TEST_FIXTURE(ScExportTest4, testtdf169496_hidden_graphic) +{ + createScDoc("xlsx/tdf169496_hidden_graphic.xlsx"); + + save(u"Calc Office Open XML"_ustr); + + xmlDocUniquePtr pDrawing = parseExport(u"xl/drawings/drawing1.xml"_ustr); + CPPUNIT_ASSERT(pDrawing); + + // Graphic 4 is hidden and Graphic 3 is visible, but their order might change in the XML + // Without the fix the hidden attribute wasn't exported + OUString sName1 = getXPath( + pDrawing, "/xdr:wsDr/xdr:twoCellAnchor[1]/xdr:pic/xdr:nvPicPr/xdr:cNvPr", "name"); + OUString sName2 = getXPath( + pDrawing, "/xdr:wsDr/xdr:twoCellAnchor[2]/xdr:pic/xdr:nvPicPr/xdr:cNvPr", "name"); + if (sName1 == "Graphic 4" && sName2 == "Graphic 3") + { + OUString aHidden = getXPath( + pDrawing, "/xdr:wsDr/xdr:twoCellAnchor[1]/xdr:pic/xdr:nvPicPr/xdr:cNvPr", "hidden"); + bool bHidden = aHidden == u"true"_ustr || aHidden == u"1"; + CPPUNIT_ASSERT_EQUAL_MESSAGE("Graphic 3 is supposed to be hidden", true, bHidden); + + assertXPathNoAttribute( + pDrawing, "/xdr:wsDr/xdr:twoCellAnchor[2]/xdr:pic/xdr:nvPicPr/xdr:cNvPr", "hidden"); + } + else if (sName1 == "Graphic 3" && sName2 == "Graphic 4") + { + assertXPathNoAttribute( + pDrawing, "/xdr:wsDr/xdr:twoCellAnchor[1]/xdr:pic/xdr:nvPicPr/xdr:cNvPr", "hidden"); + + OUString aHidden = getXPath( + pDrawing, "/xdr:wsDr/xdr:twoCellAnchor[2]/xdr:pic/xdr:nvPicPr/xdr:cNvPr", "hidden"); + bool bHidden = aHidden == u"true"_ustr || aHidden == u"1"; + CPPUNIT_ASSERT_EQUAL_MESSAGE("Graphic 4 is supposed to be hidden", true, bHidden); + } + else + CPPUNIT_FAIL("Names of graphics is incorrect"); +} + CPPUNIT_TEST_FIXTURE(ScExportTest4, testTdf144642_RowHeightRounding) { // MS Excel round down row heights to 0.75pt diff --git a/sd/qa/unit/data/pptx/tdf169496_hidden_graphic.pptx b/sd/qa/unit/data/pptx/tdf169496_hidden_graphic.pptx new file mode 100644 index 0000000000000000000000000000000000000000..a87c644e9cc38c676135a66d4c4fadd298650467 GIT binary patch literal 35202 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 literal 0 HcmV?d00001 diff --git a/sd/qa/unit/export-tests-ooxml4.cxx b/sd/qa/unit/export-tests-ooxml4.cxx index e8aff6db9f9c..911e3fcd2d11 100644 --- a/sd/qa/unit/export-tests-ooxml4.cxx +++ b/sd/qa/unit/export-tests-ooxml4.cxx @@ -1606,6 +1606,43 @@ CPPUNIT_TEST_FIXTURE(SdOOXMLExportTest4, testOLEObjectAnimationTarget) "spid", sOleId); } +CPPUNIT_TEST_FIXTURE(SdOOXMLExportTest4, testtdf169496_hidden_graphic) +{ + createSdImpressDoc("pptx/tdf169496_hidden_graphic.pptx"); + save(u"Impress Office Open XML"_ustr); + + xmlDocUniquePtr pXmlDoc = parseExport(u"ppt/slides/slide1.xml"_ustr); + + // Graphic 5 is hidden and Graphic 4 is visible, but their order might change in the XML + // Without the fix the hidden attribute wasn't exported + OUString sName1 + = getXPath(pXmlDoc, "/p:sld/p:cSld/p:spTree/p:pic[1]/p:nvPicPr/p:cNvPr", "name"); + OUString sName2 + = getXPath(pXmlDoc, "/p:sld/p:cSld/p:spTree/p:pic[2]/p:nvPicPr/p:cNvPr", "name"); + if (sName1 == "Graphic 5" && sName2 == "Graphic 4") + { + OUString aHidden + = getXPath(pXmlDoc, "/p:sld/p:cSld/p:spTree/p:pic[1]/p:nvPicPr/p:cNvPr", "hidden"); + bool bHidden = aHidden == u"true"_ustr || aHidden == u"1"; + CPPUNIT_ASSERT_EQUAL_MESSAGE("Graphic 3 is supposed to be hidden", true, bHidden); + + assertXPathNoAttribute(pXmlDoc, "/p:sld/p:cSld/p:spTree/p:pic[2]/p:nvPicPr/p:cNvPr", + "hidden"); + } + else if (sName1 == "Graphic 4" && sName2 == "Graphic 5") + { + assertXPathNoAttribute(pXmlDoc, "/p:sld/p:cSld/p:spTree/p:pic[1]/p:nvPicPr/p:cNvPr", + "hidden"); + + OUString aHidden + = getXPath(pXmlDoc, "/p:sld/p:cSld/p:spTree/p:pic[2]/p:nvPicPr/p:cNvPr", "hidden"); + bool bHidden = aHidden == u"true"_ustr || aHidden == u"1"; + CPPUNIT_ASSERT_EQUAL_MESSAGE("Graphic 4 is supposed to be hidden", true, bHidden); + } + else + CPPUNIT_FAIL("Names of graphics is incorrect"); +} + CPPUNIT_PLUGIN_IMPLEMENT(); /* vim:set shiftwidth=4 softtabstop=4 expandtab: */