editeng/source/items/flditem.cxx | 13 ++++++++++++- stoc/source/tdmanager/tdmgr.cxx | 12 +++--------- 2 files changed, 15 insertions(+), 10 deletions(-)
New commits: commit 763011690b18cdf47cb23125c98a5bfa5d17b2d6 Author: Jan Holesovsky <[email protected]> Date: Thu Apr 11 13:29:36 2013 +0200 i#79611: SvxFieldData::Create() is not supposed to throw. Change-Id: Ied4e5cc9211b2a541006432d0b4d257f014249f4 diff --git a/editeng/source/items/flditem.cxx b/editeng/source/items/flditem.cxx index 2b3d090..70fe692 100644 --- a/editeng/source/items/flditem.cxx +++ b/editeng/source/items/flditem.cxx @@ -43,7 +43,18 @@ SvxFieldData* SvxFieldData::Create(const uno::Reference<text::XTextContent>& xTe if (!xPropSet.is()) return NULL; - uno::Any aAny = xPropSet->getPropertyValue(UNO_TC_PROP_TEXTFIELD_TYPE); + // we do not support these fields from Writer, so make sure we do not throw + // here - see fdo#63436 how to possibly extend Writer to make use of this + uno::Any aAny; + try { + aAny = xPropSet->getPropertyValue(UNO_TC_PROP_TEXTFIELD_TYPE); + if ( !aAny.has<sal_Int32>() ) + return NULL; + } catch ( const beans::UnknownPropertyException& e ) + { + return NULL; + } + sal_Int32 nFieldType = aAny.get<sal_Int32>(); switch (nFieldType) commit c226e93159730cc53947d271c587d3720d966546 Author: Jan Holesovsky <[email protected]> Date: Thu Apr 11 13:26:55 2013 +0200 Avoid an endless stream of NoSuchElementException exceptions. Extremely annoying during debugging; and throwing / catching is not the fastest operation under the sun... Change-Id: Ic5604bb1c3ef77d1577c4ac611af44be6fea6533 diff --git a/stoc/source/tdmanager/tdmgr.cxx b/stoc/source/tdmanager/tdmgr.cxx index 2ac1483..f8904c9 100644 --- a/stoc/source/tdmanager/tdmgr.cxx +++ b/stoc/source/tdmanager/tdmgr.cxx @@ -1085,16 +1085,10 @@ Any ManagerImpl::getByHierarchicalName( const OUString & rName ) for ( ProviderVector::const_iterator iPos( _aProviders.begin() ); iPos != _aProviders.end(); ++iPos ) { - try - { - if ((aRet = (*iPos)->getByHierarchicalName( - rName )).hasValue()) - { - break; - } - } - catch (const NoSuchElementException &) + if ( (*iPos)->hasByHierarchicalName( rName ) ) { + aRet = (*iPos)->getByHierarchicalName( rName ); + break; } } } _______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
