diff options
author | Miklos Vajna <vmiklos@suse.cz> | 2012-03-13 16:30:32 +0100 |
---|---|---|
committer | Miklos Vajna <vmiklos@suse.cz> | 2012-03-13 16:35:10 +0100 |
commit | 2352ed8a8c86a2c8fcb2b7b75b750cec6956d2d7 (patch) | |
tree | b1938305e31ed81419237ec44bd3d0bd15e7e220 | |
parent | 2ff3ce4b7e9ff6603ba472cbb8d35f75b9ef9c16 (diff) |
writerfilter: catch UnknownPropertyExcetion early
-rw-r--r-- | writerfilter/source/dmapper/ModelEventListener.cxx | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/writerfilter/source/dmapper/ModelEventListener.cxx b/writerfilter/source/dmapper/ModelEventListener.cxx index 22c6b9a73352..f4fd04adbe39 100644 --- a/writerfilter/source/dmapper/ModelEventListener.cxx +++ b/writerfilter/source/dmapper/ModelEventListener.cxx @@ -83,13 +83,20 @@ void ModelEventListener::notifyEvent( const document::EventObject& rEvent ) thro sal_Int32 nIndex = 0; while(xEnumeration->hasMoreElements()) { - uno::Reference<beans::XPropertySet> xPropertySet(xEnumeration->nextElement(), uno::UNO_QUERY); - sal_Int16 nSource = 0; - xPropertySet->getPropertyValue(rPropNameSupplier.GetName(PROP_REFERENCE_FIELD_SOURCE)) >>= nSource; - sal_Int16 nPart = 0; - xPropertySet->getPropertyValue(rPropNameSupplier.GetName(PROP_REFERENCE_FIELD_PART)) >>= nPart; - if (nSource == text::ReferenceFieldSource::BOOKMARK && nPart == text::ReferenceFieldPart::PAGE) - ++nIndex; + try + { + uno::Reference<beans::XPropertySet> xPropertySet(xEnumeration->nextElement(), uno::UNO_QUERY); + sal_Int16 nSource = 0; + xPropertySet->getPropertyValue(rPropNameSupplier.GetName(PROP_REFERENCE_FIELD_SOURCE)) >>= nSource; + sal_Int16 nPart = 0; + xPropertySet->getPropertyValue(rPropNameSupplier.GetName(PROP_REFERENCE_FIELD_PART)) >>= nPart; + if (nSource == text::ReferenceFieldSource::BOOKMARK && nPart == text::ReferenceFieldPart::PAGE) + ++nIndex; + } + catch( const beans::UnknownPropertyException& ) + { + // doesn't even have such a property? ignore + } } if (nIndex) { |