diff options
Diffstat (limited to 'dbaccess/source/inc/apitools.hxx')
-rw-r--r-- | dbaccess/source/inc/apitools.hxx | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/dbaccess/source/inc/apitools.hxx b/dbaccess/source/inc/apitools.hxx index 6672420abac6..583fff3bda82 100644 --- a/dbaccess/source/inc/apitools.hxx +++ b/dbaccess/source/inc/apitools.hxx @@ -328,21 +328,14 @@ public: return new ::cppu::OPropertyArrayHelper(aDescriptor); #define NOTIFY_LISTERNERS(_rListeners,T,method) \ - Sequence< Reference< XInterface > > aListenerSeq = _rListeners.getElements(); \ - \ - const Reference< XInterface >* pxIntBegin = aListenerSeq.getConstArray(); \ - const Reference< XInterface >* pxInt = pxIntBegin + aListenerSeq.getLength(); \ + std::vector< Reference< XInterface > > aListenerSeq = _rListeners.getElementsAsVector(); \ \ _rGuard.clear(); \ - while( pxInt > pxIntBegin ) \ + for( auto iter = aListenerSeq.rbegin(); iter != aListenerSeq.rend(); ++iter ) \ { \ try \ { \ - while( pxInt > pxIntBegin ) \ - { \ - --pxInt; \ - static_cast< T* >( pxInt->get() )->method(aEvt); \ - } \ + static_cast< T* >( (*iter).get() )->method(aEvt); \ } \ catch( RuntimeException& ) \ { \ |