summaryrefslogtreecommitdiff
path: root/dbaccess/source/core/api/RowSet.cxx
diff options
context:
space:
mode:
authorNoel Grandin <noel@peralex.com>2015-06-29 10:11:53 +0200
committerNoel Grandin <noel@peralex.com>2015-06-29 10:11:53 +0200
commitb55166d266f31caf7bd85e54a59c7e8b49204b16 (patch)
treef4d98e90c214a6e588e2b4e22c05b9c0f44309aa /dbaccess/source/core/api/RowSet.cxx
parent39fd37f39db37a83c4a1491d68518e721b04fc5f (diff)
Revert "return and use std::vector from OInterfaceContainerHelper"
Diffstat (limited to 'dbaccess/source/core/api/RowSet.cxx')
-rw-r--r--dbaccess/source/core/api/RowSet.cxx13
1 files changed, 10 insertions, 3 deletions
diff --git a/dbaccess/source/core/api/RowSet.cxx b/dbaccess/source/core/api/RowSet.cxx
index 8220327af727..f1723a96f4fe 100644
--- a/dbaccess/source/core/api/RowSet.cxx
+++ b/dbaccess/source/core/api/RowSet.cxx
@@ -104,15 +104,22 @@ com_sun_star_comp_dba_ORowSet_get_implementation(css::uno::XComponentContext* co
}
#define NOTIFY_LISTERNERS_CHECK(_rListeners,T,method) \
- std::vector< Reference< XInterface > > aListenerSeq = _rListeners.getElementsAsVector(); \
+ Sequence< Reference< XInterface > > aListenerSeq = _rListeners.getElements(); \
+ \
+ const Reference< XInterface >* pxIntBegin = aListenerSeq.getConstArray(); \
+ const Reference< XInterface >* pxInt = pxIntBegin + aListenerSeq.getLength(); \
\
_rGuard.clear(); \
bool bCheck = true; \
- for( auto iter = aListenerSeq.rbegin(); iter != aListenerSeq.rend() && bCheck; ++iter ) \
+ while( pxInt > pxIntBegin && bCheck ) \
{ \
try \
{ \
- bCheck = static_cast< T* >( (*iter).get() )->method(aEvt); \
+ while( pxInt > pxIntBegin && bCheck ) \
+ { \
+ --pxInt; \
+ bCheck = static_cast< T* >( pxInt->get() )->method(aEvt); \
+ } \
} \
catch( RuntimeException& ) \
{ \