summaryrefslogtreecommitdiff
path: root/stoc/source/corereflection/crcomp.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'stoc/source/corereflection/crcomp.cxx')
-rw-r--r--stoc/source/corereflection/crcomp.cxx13
1 files changed, 6 insertions, 7 deletions
diff --git a/stoc/source/corereflection/crcomp.cxx b/stoc/source/corereflection/crcomp.cxx
index ae15991ad017..51cf4a6f02e4 100644
--- a/stoc/source/corereflection/crcomp.cxx
+++ b/stoc/source/corereflection/crcomp.cxx
@@ -302,7 +302,7 @@ Sequence< Reference< XIdlClass > > CompoundIdlClassImpl::getSuperclasses()
Reference< XIdlField > CompoundIdlClassImpl::getField( const OUString & rName )
{
- if (! _pFields)
+ if (! m_xFields)
getFields(); // init fields
const OUString2Field::const_iterator iFind( _aName2Field.find( rName ) );
@@ -315,16 +315,15 @@ Reference< XIdlField > CompoundIdlClassImpl::getField( const OUString & rName )
Sequence< Reference< XIdlField > > CompoundIdlClassImpl::getFields()
{
::osl::MutexGuard aGuard( getMutexAccess() );
- if (! _pFields)
+ if (! m_xFields)
{
sal_Int32 nAll = 0;
typelib_CompoundTypeDescription * pCompTypeDescr = getTypeDescr();
for ( ; pCompTypeDescr; pCompTypeDescr = pCompTypeDescr->pBaseTypeDescription )
nAll += pCompTypeDescr->nMembers;
- Sequence< Reference< XIdlField > > * pFields =
- new Sequence< Reference< XIdlField > >( nAll );
- Reference< XIdlField > * pSeq = pFields->getArray();
+ Sequence< Reference< XIdlField > > aFields( nAll );
+ Reference< XIdlField > * pSeq = aFields.getArray();
for ( pCompTypeDescr = getTypeDescr(); pCompTypeDescr;
pCompTypeDescr = pCompTypeDescr->pBaseTypeDescription )
@@ -348,9 +347,9 @@ Sequence< Reference< XIdlField > > CompoundIdlClassImpl::getFields()
}
}
- _pFields.reset( pFields );
+ m_xFields = std::move( aFields );
}
- return *_pFields;
+ return *m_xFields;
}
}