summaryrefslogtreecommitdiff
path: root/comphelper/source/property/propagg.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'comphelper/source/property/propagg.cxx')
-rw-r--r--comphelper/source/property/propagg.cxx34
1 files changed, 17 insertions, 17 deletions
diff --git a/comphelper/source/property/propagg.cxx b/comphelper/source/property/propagg.cxx
index 282405c63069..af1092c9748b 100644
--- a/comphelper/source/property/propagg.cxx
+++ b/comphelper/source/property/propagg.cxx
@@ -298,28 +298,28 @@ namespace internal
void PropertyForwarder::doForward( sal_Int32 _nHandle, const Any& _rValue )
{
OSL_ENSURE( m_rAggregationHelper.m_xAggregateSet.is(), "PropertyForwarder::doForward: no property set!" );
- if ( m_rAggregationHelper.m_xAggregateSet.is() )
- {
- m_rAggregationHelper.forwardingPropertyValue( _nHandle );
+ if ( !m_rAggregationHelper.m_xAggregateSet.is() )
+ return;
- OSL_ENSURE( m_nCurrentlyForwarding == -1, "PropertyForwarder::doForward: reentrance?" );
- m_nCurrentlyForwarding = _nHandle;
+ m_rAggregationHelper.forwardingPropertyValue( _nHandle );
- try
- {
- m_rAggregationHelper.m_xAggregateSet->setPropertyValue( m_rAggregationHelper.getPropertyName( _nHandle ), _rValue );
- // TODO: cache the property name? (it's a O(log n) search)
- }
- catch( const Exception& )
- {
- m_rAggregationHelper.forwardedPropertyValue( _nHandle );
- throw;
- }
-
- m_nCurrentlyForwarding = -1;
+ OSL_ENSURE( m_nCurrentlyForwarding == -1, "PropertyForwarder::doForward: reentrance?" );
+ m_nCurrentlyForwarding = _nHandle;
+ try
+ {
+ m_rAggregationHelper.m_xAggregateSet->setPropertyValue( m_rAggregationHelper.getPropertyName( _nHandle ), _rValue );
+ // TODO: cache the property name? (it's a O(log n) search)
+ }
+ catch( const Exception& )
+ {
m_rAggregationHelper.forwardedPropertyValue( _nHandle );
+ throw;
}
+
+ m_nCurrentlyForwarding = -1;
+
+ m_rAggregationHelper.forwardedPropertyValue( _nHandle );
}
}