filter/source/svg/svgfilter.cxx | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-)
New commits: commit ce6f43c490f1004e4e9ee274a621679683e49881 Author: Marco Cecchetti <marco.cecche...@collabora.com> AuthorDate: Wed Jun 14 14:13:09 2023 +0200 Commit: Marco Cecchetti <marco.cecche...@collabora.com> CommitDate: Wed Jun 14 21:18:43 2023 +0200 fixup for: 7523efa svg export filter: not export hidden slides It seems that the Visible property does not always exist That was causing a failure in Online Impress: - swicth to master view - select any object in the master slide - result: the object is not selected or getting focus and the server report an error Change-Id: I77b0211c6e13da1804457ba48098bbee821b7d4a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153049 Reviewed-by: Gökay ŞATIR <gokaysa...@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> diff --git a/filter/source/svg/svgfilter.cxx b/filter/source/svg/svgfilter.cxx index 3a08bda76078..71483c209949 100644 --- a/filter/source/svg/svgfilter.cxx +++ b/filter/source/svg/svgfilter.cxx @@ -441,10 +441,16 @@ bool SVGFilter::filterImpressOrDraw( const Sequence< PropertyValue >& rDescripto Reference< XPropertySet > xPropSet( xDrawPage, UNO_QUERY ); bool bIsSlideVisible = true; // default: true - xPropSet->getPropertyValue( "Visible" ) >>= bIsSlideVisible; - if (!bIsSlideVisible) - continue; - + if (xPropSet.is()) + { + Reference< XPropertySetInfo > xPropSetInfo = xPropSet->getPropertySetInfo(); + if (xPropSetInfo.is() && xPropSetInfo->hasPropertyByName("Visible")) + { + xPropSet->getPropertyValue( "Visible" ) >>= bIsSlideVisible; + if (!bIsSlideVisible) + continue; + } + } mSelectedPages.push_back(xDrawPage); } } @@ -494,10 +500,16 @@ bool SVGFilter::filterImpressOrDraw( const Sequence< PropertyValue >& rDescripto uno::Reference< drawing::XDrawPage > xDrawPage( xDrawPages->getByIndex( i ), uno::UNO_QUERY ); Reference< XPropertySet > xPropSet( xDrawPage, UNO_QUERY ); bool bIsSlideVisible = true; // default: true - xPropSet->getPropertyValue( "Visible" ) >>= bIsSlideVisible; - if (!bIsSlideVisible) - continue; - + if (xPropSet.is()) + { + Reference< XPropertySetInfo > xPropSetInfo = xPropSet->getPropertySetInfo(); + if (xPropSetInfo.is() && xPropSetInfo->hasPropertyByName("Visible")) + { + xPropSet->getPropertyValue( "Visible" ) >>= bIsSlideVisible; + if (!bIsSlideVisible) + continue; + } + } mSelectedPages.push_back(xDrawPage); } }