Author: orw
Date: Mon Apr 7 08:12:34 2014
New Revision: 1585426
URL: http://svn.apache.org/r1585426
Log:
124607: ODF import: check on certain property existence in annotation import to
avoid exceptions
cherry-picked from trunk
Modified:
openoffice/branches/AOO410/ (props changed)
openoffice/branches/AOO410/main/ (props changed)
openoffice/branches/AOO410/main/xmloff/source/text/txtfldi.cxx
Propchange: openoffice/branches/AOO410/
------------------------------------------------------------------------------
Merged /openoffice/trunk:r1585261
Propchange: openoffice/branches/AOO410/main/
------------------------------------------------------------------------------
Merged /openoffice/trunk/main:r1585261
Modified: openoffice/branches/AOO410/main/xmloff/source/text/txtfldi.cxx
URL:
http://svn.apache.org/viewvc/openoffice/branches/AOO410/main/xmloff/source/text/txtfldi.cxx?rev=1585426&r1=1585425&r2=1585426&view=diff
==============================================================================
--- openoffice/branches/AOO410/main/xmloff/source/text/txtfldi.cxx (original)
+++ openoffice/branches/AOO410/main/xmloff/source/text/txtfldi.cxx Mon Apr 7
08:12:34 2014
@@ -3760,13 +3760,17 @@ void XMLAnnotationImportContext::EndElem
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;
+ }
}
}
}