diff options
author | Rafael Dominguez <venccsralph@gmail.com> | 2011-05-01 19:01:04 -0700 |
---|---|---|
committer | Joseph Powers <jpowers27@cox.net> | 2011-05-01 19:01:04 -0700 |
commit | 4dbde949438c5ba859605af6f1542b1c3b27a958 (patch) | |
tree | 90e77cab0d23a60b991dd051a423f2360db7bb85 | |
parent | e45dc3828b7dd4f70bc14f51ae8d573d7298ed7c (diff) |
Remove SV_DECL_REF_LIST(SotObject,SotObject*)
-rw-r--r-- | sot/inc/sot/object.hxx | 4 | ||||
-rw-r--r-- | sot/inc/sot/sotdata.hxx | 5 | ||||
-rw-r--r-- | sot/source/base/factory.cxx | 25 |
3 files changed, 13 insertions, 21 deletions
diff --git a/sot/inc/sot/object.hxx b/sot/inc/sot/object.hxx index 02ae430a38f8..40cc26800317 100644 --- a/sot/inc/sot/object.hxx +++ b/sot/inc/sot/object.hxx @@ -427,10 +427,6 @@ private: //==================class SotObjectRef====================================== SV_IMPL_REF(SotObject) -//==================class SotObject*List==================================== -SV_DECL_REF_LIST(SotObject,SotObject*) -SV_IMPL_REF_LIST(SotObject,SotObject*) - #endif // _IFACE_HXX /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sot/inc/sot/sotdata.hxx b/sot/inc/sot/sotdata.hxx index 489d50dbb0b7..ec8a3563c5c8 100644 --- a/sot/inc/sot/sotdata.hxx +++ b/sot/inc/sot/sotdata.hxx @@ -36,11 +36,12 @@ #include "sot/sotdllapi.h" #include <com/sun/star/datatransfer/DataFlavor.hpp> #include <vector> +#include <list> //==================class SotData_Impl==================================== class SotFactory; -class SotObjectList; +class SotObject; typedef ::std::vector< SotFactory* > SotFactoryList; typedef ::std::vector< com::sun::star::datatransfer::DataFlavor* > tDataFlavorList; @@ -48,7 +49,7 @@ typedef ::std::vector< com::sun::star::datatransfer::DataFlavor* > tDataFlavorLi struct SotData_Impl { sal_uInt32 nSvObjCount; - SotObjectList * pObjectList; + std::list<SotObject*> aObjectList; SotFactoryList * pFactoryList; SotFactory * pSotObjectFactory; SotFactory * pSotStorageStreamFactory; diff --git a/sot/source/base/factory.cxx b/sot/source/base/factory.cxx index cecd511d0e5b..01d098e62a75 100644 --- a/sot/source/base/factory.cxx +++ b/sot/source/base/factory.cxx @@ -48,7 +48,6 @@ *************************************************************************/ SotData_Impl::SotData_Impl() : nSvObjCount( 0 ) - , pObjectList( NULL ) , pFactoryList( NULL ) , pSotObjectFactory( NULL ) , pSotStorageStreamFactory( NULL ) @@ -96,10 +95,11 @@ void SotFactory::DeInit() pFactoryList->clear(); delete pFactoryList; pSotData->pFactoryList = NULL; + } - delete pSotData->pObjectList; - pSotData->pObjectList = NULL; + pSotData->aObjectList.clear(); + if( pSotData->pDataFlavorList ) { @@ -222,10 +222,9 @@ void SotFactory::IncSvObjectCount( SotObject * pObj ) { SotData_Impl * pSotData = SOTDATA(); pSotData->nSvObjCount++; - if( !pSotData->pObjectList ) - pSotData->pObjectList = new SotObjectList(); + if( pObj ) - pSotData->pObjectList->Insert( pObj ); + pSotData->aObjectList.push_back( pObj ); } @@ -239,7 +238,7 @@ void SotFactory::DecSvObjectCount( SotObject * pObj ) SotData_Impl * pSotData = SOTDATA(); pSotData->nSvObjCount--; if( pObj ) - pSotData->pObjectList->Remove( pObj ); + pSotData->aObjectList.remove( pObj ); if( !pSotData->nSvObjCount ) { //keine internen und externen Referenzen mehr @@ -256,14 +255,10 @@ void SotFactory::TestInvariant() { #ifdef TEST_INVARIANT SotData_Impl * pSotData = SOTDATA(); - if( pSotData->pObjectList ) - { - sal_uLong nCount = pSotData->pObjectList->Count(); - for( sal_uLong i = 0; i < nCount ; i++ ) - { - pSotData->pObjectList->GetObject( i )->TestInvariant( sal_False ); - } - } + + std::list<SotObject*>::iterator it; + for( it = pSotData->aObjectList.begin(); it != pSotData->aObjectList.end(); ++it ) + (*it)->TestInvariant( sal_False ); #endif } |