From 763011690b18cdf47cb23125c98a5bfa5d17b2d6 Mon Sep 17 00:00:00 2001 From: Jan Holesovsky Date: Thu, 11 Apr 2013 13:29:36 +0200 Subject: i#79611: SvxFieldData::Create() is not supposed to throw. Change-Id: Ied4e5cc9211b2a541006432d0b4d257f014249f4 --- editeng/source/items/flditem.cxx | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'editeng') diff --git a/editeng/source/items/flditem.cxx b/editeng/source/items/flditem.cxx index 2b3d090b796e..70fe69274e5c 100644 --- a/editeng/source/items/flditem.cxx +++ b/editeng/source/items/flditem.cxx @@ -43,7 +43,18 @@ SvxFieldData* SvxFieldData::Create(const uno::Reference& 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() ) + return NULL; + } catch ( const beans::UnknownPropertyException& e ) + { + return NULL; + } + sal_Int32 nFieldType = aAny.get(); switch (nFieldType) -- cgit