diff options
Diffstat (limited to 'svl/source/items/style.cxx')
-rw-r--r-- | svl/source/items/style.cxx | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/svl/source/items/style.cxx b/svl/source/items/style.cxx index cd44bea2bbb7..c2879e799f1a 100644 --- a/svl/source/items/style.cxx +++ b/svl/source/items/style.cxx @@ -83,10 +83,8 @@ SfxStyleSheetHint::SfxStyleSheetHint class SfxStyleSheetBasePool_Impl { - public: - SfxStyleSheetIterator *pIter; - SfxStyleSheetBasePool_Impl() : pIter(0){} - ~SfxStyleSheetBasePool_Impl(){delete pIter;} +public: + SfxStyleSheetIteratorPtr pIter; }; @@ -532,13 +530,12 @@ void SfxStyleSheetBasePool::Replace( SfxStyleSheetIterator& SfxStyleSheetBasePool::GetIterator_Impl() { - SfxStyleSheetIterator*& rpIter = pImp->pIter; - if( !rpIter || (rpIter->GetSearchMask() != nMask) || (rpIter->GetSearchFamily() != nSearchFamily) ) + if( !pImp->pIter || (pImp->pIter->GetSearchMask() != nMask) || (pImp->pIter->GetSearchFamily() != nSearchFamily) ) { - delete rpIter; - rpIter = CreateIterator( nSearchFamily, nMask ); + pImp->pIter = CreateIterator( nSearchFamily, nMask ); } - return *rpIter; + + return *pImp->pIter; } SfxStyleSheetBasePool::SfxStyleSheetBasePool( SfxItemPool& r ) @@ -603,14 +600,13 @@ sal_uInt16 SfxStyleSheetBasePool::GetSearchMask() const return nMask; } - -SfxStyleSheetIterator* SfxStyleSheetBasePool::CreateIterator +SfxStyleSheetIteratorPtr SfxStyleSheetBasePool::CreateIterator ( SfxStyleFamily eFam, sal_uInt16 mask ) { - return new SfxStyleSheetIterator(this,eFam,mask); + return SfxStyleSheetIteratorPtr(new SfxStyleSheetIterator(this,eFam,mask)); } SfxStyleSheetBase* SfxStyleSheetBasePool::Create |