xmloff/source/text/txtfldi.cxx | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-)
New commits: commit 3d038663f44b20efbe10ab9b7149e8e58b648f5f Author: Oliver-Rainer Wittmann <o...@apache.org> Date: Sun Apr 6 08:31:58 2014 +0000 124607: ODF import: check on certain property existence in annotation import to avoid exceptions diff --git a/xmloff/source/text/txtfldi.cxx b/xmloff/source/text/txtfldi.cxx index 3e506fc..090f7fc 100644 --- a/xmloff/source/text/txtfldi.cxx +++ b/xmloff/source/text/txtfldi.cxx @@ -3760,13 +3760,17 @@ void XMLAnnotationImportContext::EndElement() uno::Reference<container::XEnumeration> xFields(xFieldsAccess->createEnumeration()); while (xFields->hasMoreElements()) { - uno::Reference<beans::XPropertySet> xCurrField(xFields->nextElement(), uno::UNO_QUERY); - OUString aFieldName; - xCurrField->getPropertyValue(sPropertyName) >>= aFieldName; - if ( aFieldName == aName ) + uno::Reference< beans::XPropertySet > xCurrField(xFields->nextElement(), uno::UNO_QUERY); + uno::Reference< beans::XPropertySetInfo > xCurrFieldPropInfo = xCurrField->getPropertySetInfo(); + if ( xCurrFieldPropInfo->hasPropertyByName( sPropertyName ) ) { - xPrevField.set( xCurrField, uno::UNO_QUERY ); - break; + OUString aFieldName; + xCurrField->getPropertyValue( sPropertyName ) >>= aFieldName; + if ( aFieldName == aName ) + { + xPrevField.set( xCurrField, uno::UNO_QUERY ); + break; + } } } } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits