diff options
author | Mark Hung <marklh9@gmail.com> | 2019-02-16 21:14:43 +0800 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2019-02-18 22:26:45 +0100 |
commit | 0a5913594a0ad8dbe197f940a6ba59d537e4f69e (patch) | |
tree | e25a0dc55f1d5d4463b5889341238720d52e466b /sd | |
parent | f249cb6e142e9fcc771cc8a40e347a13b201760e (diff) |
sd: fix crashing when adding new effects to media.
Check if the objct has name roperty with hasPropertyByName() before
accessing in case some objects ( media, table, control, etc. ) do not
have name property.
Regression caused by e559d360d0a19 ( related to tdf#90243 ).
Change-Id: I05fc45c631f8acd3b9ba8c8305d4bc1e31651824
Reviewed-on: https://gerrit.libreoffice.org/67901
Tested-by: Jenkins
Reviewed-by: Mark Hung <marklh9@gmail.com>
(cherry picked from commit a18bb779e03217db6e18ba6b8110289b4b3f101d)
Reviewed-on: https://gerrit.libreoffice.org/67963
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'sd')
-rw-r--r-- | sd/source/ui/animations/CustomAnimationList.cxx | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/sd/source/ui/animations/CustomAnimationList.cxx b/sd/source/ui/animations/CustomAnimationList.cxx index 61e864b004a4..6980e859d0e4 100644 --- a/sd/source/ui/animations/CustomAnimationList.cxx +++ b/sd/source/ui/animations/CustomAnimationList.cxx @@ -128,16 +128,25 @@ OUString getShapeDescription( const Reference< XShape >& xShape, bool bWithText Reference< XPropertySet > xSet( xShape, UNO_QUERY ); bool bAppendIndex = true; - if( xSet.is() ) + if(xSet.is()) try { Reference<XPropertySetInfo> xInfo(xSet->getPropertySetInfo()); + if (xInfo.is()) + { + const OUString aPropName1("Name"); + if(xInfo->hasPropertyByName(aPropName1)) + xSet->getPropertyValue(aPropName1) >>= aDescription; - xSet->getPropertyValue("Name") >>= aDescription; - bAppendIndex = aDescription.isEmpty(); + bAppendIndex = aDescription.isEmpty(); - const OUString aPropName("UINameSingular"); - if(xInfo->hasPropertyByName(aPropName)) - xSet->getPropertyValue(aPropName) >>= aDescription; + const OUString aPropName2("UINameSingular"); + if(xInfo->hasPropertyByName(aPropName2)) + xSet->getPropertyValue(aPropName2) >>= aDescription; + } + } + catch( Exception& ) + { + OSL_FAIL("sd::getShapeDescription(), exception caught!" ); } if (bAppendIndex) |