include/svl/poolcach.hxx | 18 ++++++++---------- svl/source/items/poolcach.cxx | 9 +++------ 2 files changed, 11 insertions(+), 16 deletions(-)
New commits: commit 61f61e7723380d3eff0eee21effe0d4dc3f7dad3 Author: Jochen Nitschke <j.nitschke+loger...@ok.de> Date: Wed Nov 30 16:22:11 2016 +0100 don't hold vector as pointer here ... and make impl types private Change-Id: I7ead64bac38da3d813e0b47fa124970937c36617 Reviewed-on: https://gerrit.libreoffice.org/31438 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Michael Stahl <mst...@redhat.com> diff --git a/include/svl/poolcach.hxx b/include/svl/poolcach.hxx index 6c55fae..cfb148d 100644 --- a/include/svl/poolcach.hxx +++ b/include/svl/poolcach.hxx @@ -27,19 +27,17 @@ class SfxItemSet; class SfxPoolItem; class SfxSetItem; -struct SfxItemModifyImpl -{ - const SfxSetItem *pOrigItem; - SfxSetItem *pPoolItem; -}; - -typedef std::vector<SfxItemModifyImpl> SfxItemModifyArr_Impl; - - class SVL_DLLPUBLIC SfxItemPoolCache { + struct SfxItemModifyImpl + { + const SfxSetItem *pOrigItem; + SfxSetItem *pPoolItem; + }; + typedef std::vector<SfxItemModifyImpl> SfxItemModifyArr_Impl; + SfxItemPool *pPool; - SfxItemModifyArr_Impl *pCache; + SfxItemModifyArr_Impl m_aCache; const SfxItemSet *pSetToPut; const SfxPoolItem *pItemToPut; diff --git a/svl/source/items/poolcach.cxx b/svl/source/items/poolcach.cxx index 947aee32..c43d1d5 100644 --- a/svl/source/items/poolcach.cxx +++ b/svl/source/items/poolcach.cxx @@ -27,7 +27,6 @@ SfxItemPoolCache::SfxItemPoolCache( SfxItemPool *pItemPool, const SfxPoolItem *pPutItem ): pPool(pItemPool), - pCache(new SfxItemModifyArr_Impl), pSetToPut( nullptr ), pItemToPut( &pItemPool->Put(*pPutItem) ) { @@ -38,7 +37,6 @@ SfxItemPoolCache::SfxItemPoolCache( SfxItemPool *pItemPool, SfxItemPoolCache::SfxItemPoolCache( SfxItemPool *pItemPool, const SfxItemSet *pPutSet ): pPool(pItemPool), - pCache(new SfxItemModifyArr_Impl), pSetToPut( pPutSet ), pItemToPut( nullptr ) { @@ -48,11 +46,10 @@ SfxItemPoolCache::SfxItemPoolCache( SfxItemPool *pItemPool, SfxItemPoolCache::~SfxItemPoolCache() { - for (SfxItemModifyImpl & rImpl : *pCache) { + for (SfxItemModifyImpl & rImpl : m_aCache) { pPool->Remove( *rImpl.pPoolItem ); pPool->Remove( *rImpl.pOrigItem ); } - delete pCache; pCache = nullptr; if ( pItemToPut ) pPool->Remove( *pItemToPut ); @@ -66,7 +63,7 @@ const SfxSetItem& SfxItemPoolCache::ApplyTo( const SfxSetItem &rOrigItem ) "original not in pool" ); // Find whether this Transformations ever occurred - for (SfxItemModifyImpl & rMapEntry : *pCache) + for (SfxItemModifyImpl & rMapEntry : m_aCache) { if ( rMapEntry.pOrigItem == &rOrigItem ) { @@ -102,7 +99,7 @@ const SfxSetItem& SfxItemPoolCache::ApplyTo( const SfxSetItem &rOrigItem ) SfxItemModifyImpl aModify; aModify.pOrigItem = &rOrigItem; aModify.pPoolItem = const_cast<SfxSetItem*>(pNewPoolItem); - pCache->push_back( aModify ); + m_aCache.push_back( aModify ); DBG_ASSERT( !pItemToPut || &pNewPoolItem->GetItemSet().Get( pItemToPut->Which() ) == pItemToPut, _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits