filter/source/msfilter/msdffimp.cxx | 53 ++++++++------- filter/source/msfilter/svdfppt.cxx | 116 ++++++++++++++++----------------- include/filter/msfilter/msdffimp.hxx | 46 +++++-------- include/filter/msfilter/svdfppt.hxx | 34 +++++---- include/svtools/ctrltool.hxx | 10 +- include/svtools/parhtml.hxx | 4 - include/svx/PaletteManager.hxx | 8 +- sd/source/filter/ppt/pptin.cxx | 6 - svtools/inc/pch/precompiled_svt.hxx | 1 svtools/source/control/ctrltool.cxx | 25 +++---- svtools/source/svhtml/parhtml.cxx | 6 - svx/source/tbxctrls/PaletteManager.cxx | 20 ++--- sw/source/filter/ww8/ww8graf.cxx | 6 - sw/source/filter/ww8/ww8graf2.cxx | 4 - sw/source/filter/ww8/ww8par.cxx | 6 - 15 files changed, 175 insertions(+), 170 deletions(-)
New commits: commit 22fd35f5987e3fed40d5b2ad0df35f7d89f842f8 Author: Michael Stahl <[email protected]> Date: Thu Jul 23 23:47:46 2015 +0200 filter: replace boost::ptr_vector with std::vector<std::unique_ptr> Change-Id: I9aa0543edf3f0aef3a0a376aa0f82f51c6d93313 diff --git a/filter/source/msfilter/msdffimp.cxx b/filter/source/msfilter/msdffimp.cxx index 1a49e87..05fd7ea 100644 --- a/filter/source/msfilter/msdffimp.cxx +++ b/filter/source/msfilter/msdffimp.cxx @@ -5470,10 +5470,10 @@ void SvxMSDffManager::StoreShapeOrder(sal_uLong nId, SwFlyFrameFormat* pFly, short nHdFtSection) const { - sal_uInt16 nShpCnt = pShapeOrders->size(); + sal_uInt16 nShpCnt = m_pShapeOrders->size(); for (sal_uInt16 nShapeNum=0; nShapeNum < nShpCnt; nShapeNum++) { - SvxMSDffShapeOrder& rOrder = (*pShapeOrders)[ nShapeNum ]; + SvxMSDffShapeOrder& rOrder = *(*m_pShapeOrders)[ nShapeNum ]; if( rOrder.nShapeId == nId ) { @@ -5491,10 +5491,10 @@ void SvxMSDffManager::ExchangeInShapeOrder( SdrObject* pOldObject, SwFlyFrameFormat* pFly, SdrObject* pObject) const { - sal_uInt16 nShpCnt = pShapeOrders->size(); + sal_uInt16 nShpCnt = m_pShapeOrders->size(); for (sal_uInt16 nShapeNum=0; nShapeNum < nShpCnt; nShapeNum++) { - SvxMSDffShapeOrder& rOrder = (*pShapeOrders)[ nShapeNum ]; + SvxMSDffShapeOrder& rOrder = *(*m_pShapeOrders)[ nShapeNum ]; if( rOrder.pObj == pOldObject ) { @@ -5508,10 +5508,10 @@ void SvxMSDffManager::ExchangeInShapeOrder( SdrObject* pOldObject, void SvxMSDffManager::RemoveFromShapeOrder( SdrObject* pObject ) const { - sal_uInt16 nShpCnt = pShapeOrders->size(); + sal_uInt16 nShpCnt = m_pShapeOrders->size(); for (sal_uInt16 nShapeNum=0; nShapeNum < nShpCnt; nShapeNum++) { - SvxMSDffShapeOrder& rOrder = (*pShapeOrders)[ nShapeNum ]; + SvxMSDffShapeOrder& rOrder = *(*m_pShapeOrders)[ nShapeNum ]; if( rOrder.pObj == pObject ) { @@ -5523,12 +5523,8 @@ void SvxMSDffManager::RemoveFromShapeOrder( SdrObject* pObject ) const } - - - // exported class: Public Methods - SvxMSDffManager::SvxMSDffManager(SvStream& rStCtrl_, const OUString& rBaseURL, sal_uInt32 nOffsDgg_, @@ -5542,7 +5538,7 @@ SvxMSDffManager::SvxMSDffManager(SvStream& rStCtrl_, pFormModel( NULL ), m_pBLIPInfos( new SvxMSDffBLIPInfos ), m_xShapeInfosByTxBxComp( new SvxMSDffShapeInfos_ByTxBxComp ), - pShapeOrders( new SvxMSDffShapeOrders ), + m_pShapeOrders( new SvxMSDffShapeOrders ), nOffsDgg( nOffsDgg_ ), nBLIPCount( USHRT_MAX ), // initialize with error, since we fist check if the nGroupShapeFlags(0), // ensure initialization here, as some corrupted @@ -5591,7 +5587,7 @@ SvxMSDffManager::SvxMSDffManager( SvStream& rStCtrl_, const OUString& rBaseURL ) pFormModel( NULL ), m_pBLIPInfos( new SvxMSDffBLIPInfos ), m_xShapeInfosByTxBxComp( new SvxMSDffShapeInfos_ByTxBxComp ), - pShapeOrders( new SvxMSDffShapeOrders ), + m_pShapeOrders( new SvxMSDffShapeOrders ), nOffsDgg( 0 ), nBLIPCount( USHRT_MAX ), // initialize with error, since we first have to check nGroupShapeFlags(0), @@ -5616,7 +5612,7 @@ SvxMSDffManager::~SvxMSDffManager() { delete pSecPropSet; delete m_pBLIPInfos; - delete pShapeOrders; + delete m_pShapeOrders; delete pFormModel; } @@ -6146,7 +6142,8 @@ bool SvxMSDffManager::GetShapeContainerData( SvStream& rSt, } m_xShapeInfosByTxBxComp->insert(std::shared_ptr<SvxMSDffShapeInfo>( new SvxMSDffShapeInfo(aInfo))); - pShapeOrders->push_back( new SvxMSDffShapeOrder( aInfo.nShapeId ) ); + m_pShapeOrders->push_back(std::unique_ptr<SvxMSDffShapeOrder>( + new SvxMSDffShapeOrder( aInfo.nShapeId ))); } // and position the Stream correctly again diff --git a/include/filter/msfilter/msdffimp.hxx b/include/filter/msfilter/msdffimp.hxx index 14fa1e5..f3ce6b5 100644 --- a/include/filter/msfilter/msdffimp.hxx +++ b/include/filter/msfilter/msdffimp.hxx @@ -27,8 +27,6 @@ #include <set> #include <vector> -#include <boost/ptr_container/ptr_vector.hpp> - #include <com/sun/star/uno/Reference.h> #include <com/sun/star/embed/XEmbeddedObject.hpp> #include <com/sun/star/beans/XPropertySet.hpp> @@ -110,7 +108,7 @@ typedef ::std::map< sal_Int32, SdrObject* > SvxMSDffShapeIdContainer; #define SVEXT_PERSIST_STREAM "\002OlePres000" /// the following will be sorted by the order of their appearance: -typedef boost::ptr_vector<SvxMSDffShapeOrder> SvxMSDffShapeOrders; +typedef std::vector<std::unique_ptr<SvxMSDffShapeOrder>> SvxMSDffShapeOrders; struct MSFILTER_DLLPUBLIC CompareSvxMSDffShapeInfoById { @@ -402,7 +400,7 @@ class MSFILTER_DLLPUBLIC SvxMSDffManager : public DffPropertyReader SvxMSDffBLIPInfos* m_pBLIPInfos; std::unique_ptr<SvxMSDffShapeInfos_ByTxBxComp> m_xShapeInfosByTxBxComp; std::unique_ptr<SvxMSDffShapeInfos_ById> m_xShapeInfosById; - SvxMSDffShapeOrders* pShapeOrders; + SvxMSDffShapeOrders* m_pShapeOrders; sal_uInt32 nOffsDgg; sal_uInt16 nBLIPCount; sal_uInt32 nGroupShapeFlags; @@ -675,7 +673,7 @@ public: { return m_xShapeInfosById.get(); } inline SvxMSDffShapeOrders* GetShapeOrders() const - { return pShapeOrders; } + { return m_pShapeOrders; } void StoreShapeOrder(sal_uLong nId, sal_uLong nTxBx, diff --git a/sw/source/filter/ww8/ww8graf2.cxx b/sw/source/filter/ww8/ww8graf2.cxx index c2c0a65..2c1182d 100644 --- a/sw/source/filter/ww8/ww8graf2.cxx +++ b/sw/source/filter/ww8/ww8graf2.cxx @@ -99,7 +99,7 @@ sal_uInt16 wwZOrderer::GetEscherObjectIdx(sal_uLong nSpId) // First, find out what position this shape is in the Escher order. for (sal_uInt16 nShapePos=0; nShapePos < nShapeCount; nShapePos++) { - const SvxMSDffShapeOrder& rOrder = (*mpShapeOrders)[nShapePos]; + const SvxMSDffShapeOrder& rOrder = *(*mpShapeOrders)[nShapePos]; if (rOrder.nShapeId == nSpId) { nFound = nShapePos; diff --git a/sw/source/filter/ww8/ww8par.cxx b/sw/source/filter/ww8/ww8par.cxx index 9ae8606..8641ff0 100644 --- a/sw/source/filter/ww8/ww8par.cxx +++ b/sw/source/filter/ww8/ww8par.cxx @@ -5167,7 +5167,7 @@ sal_uLong SwWW8ImplReader::CoreLoad(WW8Glossary *pGloss, const SwPosition &rPos) for (sal_uInt16 nShapeNum=0; nShapeNum < nShapeCount; nShapeNum++) { SvxMSDffShapeOrder *pOrder = - &(*m_pMSDffManager->GetShapeOrders())[nShapeNum]; + (*m_pMSDffManager->GetShapeOrders())[nShapeNum].get(); // Insert Pointer into new Sort array if (pOrder->nTxBxComp && pOrder->pFly) aTxBxSort.insert(pOrder); commit b772f022192d2150aa6b33b1ce086c4645277023 Author: Michael Stahl <[email protected]> Date: Thu Jul 23 23:36:28 2015 +0200 filter: convert boost::ptr_vector to std::vector ... and move it out of the header since it's only used in that class. Change-Id: Icd5cc86428c97bdaaa07d56e17393846629721e5 diff --git a/filter/source/msfilter/msdffimp.cxx b/filter/source/msfilter/msdffimp.cxx index 1e62f40..1a49e87 100644 --- a/filter/source/msfilter/msdffimp.cxx +++ b/filter/source/msfilter/msdffimp.cxx @@ -149,6 +149,18 @@ using namespace container ; static sal_uInt32 nMSOleObjCntr = 0; #define MSO_OLE_Obj "MSO_OLE_Obj" +struct SvxMSDffBLIPInfo +{ + sal_uInt16 nBLIPType; ///< type of BLIP: e.g. 6 for PNG + sal_uLong nFilePos; ///< offset of the BLIP in data strem + sal_uLong nBLIPSize; ///< number of bytes that the BLIP needs in stream + SvxMSDffBLIPInfo(sal_uInt16 nBType, sal_uLong nFPos, sal_uLong nBSize): + nBLIPType( nBType ), nFilePos( nFPos ), nBLIPSize( nBSize ){} +}; + +/// the following will be sorted by the order of their appearance: +struct SvxMSDffBLIPInfos : public std::vector<SvxMSDffBLIPInfo> {}; + /************************************************************************/ void Impl_OlePres::Write( SvStream & rStm ) { @@ -5528,7 +5540,7 @@ SvxMSDffManager::SvxMSDffManager(SvStream& rStCtrl_, bool bSkipImages ) :DffPropertyReader( *this ), pFormModel( NULL ), - pBLIPInfos( new SvxMSDffBLIPInfos ), + m_pBLIPInfos( new SvxMSDffBLIPInfos ), m_xShapeInfosByTxBxComp( new SvxMSDffShapeInfos_ByTxBxComp ), pShapeOrders( new SvxMSDffShapeOrders ), nOffsDgg( nOffsDgg_ ), @@ -5577,7 +5589,7 @@ SvxMSDffManager::SvxMSDffManager(SvStream& rStCtrl_, SvxMSDffManager::SvxMSDffManager( SvStream& rStCtrl_, const OUString& rBaseURL ) :DffPropertyReader( *this ), pFormModel( NULL ), - pBLIPInfos( new SvxMSDffBLIPInfos ), + m_pBLIPInfos( new SvxMSDffBLIPInfos ), m_xShapeInfosByTxBxComp( new SvxMSDffShapeInfos_ByTxBxComp ), pShapeOrders( new SvxMSDffShapeOrders ), nOffsDgg( 0 ), @@ -5603,7 +5615,7 @@ SvxMSDffManager::SvxMSDffManager( SvStream& rStCtrl_, const OUString& rBaseURL ) SvxMSDffManager::~SvxMSDffManager() { delete pSecPropSet; - delete pBLIPInfos; + delete m_pBLIPInfos; delete pShapeOrders; delete pFormModel; } @@ -5879,7 +5891,7 @@ void SvxMSDffManager::GetDrawingGroupContainerData( SvStream& rSt, sal_uLong nLe nBLIPCount++; // now save the info for later access - pBLIPInfos->push_back( new SvxMSDffBLIPInfo( nInst, nBLIPPos, nBLIPLen ) ); + m_pBLIPInfos->push_back(SvxMSDffBLIPInfo(nInst, nBLIPPos, nBLIPLen)); } rSt.SeekRel( nLength ); } @@ -6217,7 +6229,7 @@ bool SvxMSDffManager::GetBLIP( sal_uLong nIdx_, Graphic& rData, Rectangle* pVisA if ( !bOk ) { sal_uInt16 nIdx = sal_uInt16( nIdx_ ); - if( !nIdx || (pBLIPInfos->size() < nIdx) ) + if (!nIdx || (m_pBLIPInfos->size() < nIdx)) return false; // possibly delete old error flag(s) @@ -6232,7 +6244,7 @@ bool SvxMSDffManager::GetBLIP( sal_uLong nIdx_, Graphic& rData, Rectangle* pVisA sal_uLong nOldPosData = pStData ? pStData->Tell() : nOldPosCtrl; // fetch matching info struct out of the pointer array - SvxMSDffBLIPInfo& rInfo = (*pBLIPInfos)[ nIdx-1 ]; + SvxMSDffBLIPInfo& rInfo = (*m_pBLIPInfos)[ nIdx-1 ]; // jump to the BLIP atom in the data stream pStData->Seek( rInfo.nFilePos ); // possibly reset error status diff --git a/include/filter/msfilter/msdffimp.hxx b/include/filter/msfilter/msdffimp.hxx index 5ef4b5c..14fa1e5 100644 --- a/include/filter/msfilter/msdffimp.hxx +++ b/include/filter/msfilter/msdffimp.hxx @@ -56,7 +56,7 @@ class FmFormModel; class SdrModel; class SwFlyFrameFormat; -struct SvxMSDffBLIPInfo; +struct SvxMSDffBLIPInfos; struct SvxMSDffShapeInfo; struct SvxMSDffShapeOrder; @@ -109,8 +109,7 @@ typedef ::std::map< sal_Int32, SdrObject* > SvxMSDffShapeIdContainer; #define SVEXT_PERSIST_STREAM "\002OlePres000" -// the following two will be sorted by the order of their appearance: -typedef boost::ptr_vector<SvxMSDffBLIPInfo> SvxMSDffBLIPInfos; +/// the following will be sorted by the order of their appearance: typedef boost::ptr_vector<SvxMSDffShapeOrder> SvxMSDffShapeOrders; struct MSFILTER_DLLPUBLIC CompareSvxMSDffShapeInfoById @@ -400,7 +399,7 @@ public: class MSFILTER_DLLPUBLIC SvxMSDffManager : public DffPropertyReader { FmFormModel* pFormModel; - SvxMSDffBLIPInfos* pBLIPInfos; + SvxMSDffBLIPInfos* m_pBLIPInfos; std::unique_ptr<SvxMSDffShapeInfos_ByTxBxComp> m_xShapeInfosByTxBxComp; std::unique_ptr<SvxMSDffShapeInfos_ById> m_xShapeInfosById; SvxMSDffShapeOrders* pShapeOrders; @@ -722,15 +721,6 @@ public: SdrObject* getShapeForId( sal_Int32 nShapeId ); }; -struct SvxMSDffBLIPInfo -{ - sal_uInt16 nBLIPType; ///< type of BLIP: e.g. 6 for PNG - sal_uLong nFilePos; ///< offset of the BLIP in data strem - sal_uLong nBLIPSize; ///< number of bytes that the BLIP needs in stream - SvxMSDffBLIPInfo(sal_uInt16 nBType, sal_uLong nFPos, sal_uLong nBSize): - nBLIPType( nBType ), nFilePos( nFPos ), nBLIPSize( nBSize ){} -}; - struct SvxMSDffShapeInfo { sal_uInt32 nShapeId; ///< shape id, used in PLCF SPA and in mso_fbtSp (FSP) commit 355865211c50303095582f6e1dfbd5d209802b7b Author: Michael Stahl <[email protected]> Date: Thu Jul 23 23:20:34 2015 +0200 filter: replace boost::ptr_set with std::set<std::unique_ptr> Change-Id: I171fdb41bef4a7f3ef6418d81a1d99f123c0652c diff --git a/filter/source/msfilter/msdffimp.cxx b/filter/source/msfilter/msdffimp.cxx index 74b337a..1e62f40 100644 --- a/filter/source/msfilter/msdffimp.cxx +++ b/filter/source/msfilter/msdffimp.cxx @@ -5413,7 +5413,7 @@ SdrObject* SvxMSDffManager::ProcessObj(SvStream& rSt, if( pOrgObj ) { pImpRec->pObj = pOrgObj; - rImportData.aRecords.insert( pImpRec ); + rImportData.m_Records.insert(std::unique_ptr<SvxMSDffImportRec>(pImpRec)); bDeleteImpRec = false; if (pImpRec == pTextImpRec) bDeleteTextImpRec = false; @@ -5424,7 +5424,7 @@ SdrObject* SvxMSDffManager::ProcessObj(SvStream& rSt, // Modify ShapeId (must be unique) pImpRec->nShapeId |= 0x8000000; pTextImpRec->pObj = pTextObj; - rImportData.aRecords.insert( pTextImpRec ); + rImportData.m_Records.insert(std::unique_ptr<SvxMSDffImportRec>(pTextImpRec)); bDeleteTextImpRec = false; if (pTextImpRec == pImpRec) bDeleteImpRec = false; diff --git a/include/filter/msfilter/msdffimp.hxx b/include/filter/msfilter/msdffimp.hxx index b60847a..5ef4b5c 100644 --- a/include/filter/msfilter/msdffimp.hxx +++ b/include/filter/msfilter/msdffimp.hxx @@ -28,7 +28,6 @@ #include <vector> #include <boost/ptr_container/ptr_vector.hpp> -#include <boost/ptr_container/ptr_set.hpp> #include <com/sun/star/uno/Reference.h> #include <com/sun/star/embed/XEmbeddedObject.hpp> @@ -270,16 +269,21 @@ private: SvxMSDffImportRec &operator=(const SvxMSDffImportRec&) SAL_DELETED_FUNCTION; }; +struct MSDffImportRecords_Less +{ + bool operator()(std::unique_ptr<SvxMSDffImportRec> const& left, + std::unique_ptr<SvxMSDffImportRec> const& right) const + { return (*left) < (*right); } +}; /** list of all SvxMSDffImportRec instances of/for a group */ -class MSDffImportRecords - : public ::boost::ptr_set<SvxMSDffImportRec> -{}; +typedef std::set<std::unique_ptr<SvxMSDffImportRec>, MSDffImportRecords_Less> + MSDffImportRecords; /** block of parameters for import/export for a single call of ImportObjAtCurrentStreamPos() */ struct SvxMSDffImportData { - MSDffImportRecords aRecords; ///< Shape pointer, Shape ids and private data + MSDffImportRecords m_Records; ///< Shape pointer, Shape ids and private data Rectangle aParentRect;///< Rectangle of the surrounding groups, ///< which might have been provided externally Rectangle aNewRect; ///< Rectangle that is defined by this shape @@ -287,10 +291,10 @@ struct SvxMSDffImportData SvxMSDffImportData() {} explicit SvxMSDffImportData( const Rectangle& rParentRect ) : aParentRect( rParentRect ) {} - bool empty() const { return aRecords.empty(); } - size_t size() const { return aRecords.size(); } - MSDffImportRecords::const_iterator begin() const { return aRecords.begin(); } - MSDffImportRecords::const_iterator end() const { return aRecords.end(); } + bool empty() const { return m_Records.empty(); } + size_t size() const { return m_Records.size(); } + MSDffImportRecords::const_iterator begin() const { return m_Records.begin(); } + MSDffImportRecords::const_iterator end() const { return m_Records.end(); } }; struct DffObjData diff --git a/sw/source/filter/ww8/ww8graf.cxx b/sw/source/filter/ww8/ww8graf.cxx index 3fc3052..4bca571 100644 --- a/sw/source/filter/ww8/ww8graf.cxx +++ b/sw/source/filter/ww8/ww8graf.cxx @@ -2547,9 +2547,9 @@ SwFrameFormat* SwWW8ImplReader::Read_GrafLayer( long nGrafAnchorCp ) for (MSDffImportRecords::const_iterator it = aData.begin(); it != aData.end(); ++it) // MSVC2008 wants const_iterator here??? { - if (it->pObj == pObject) + if ((*it)->pObj == pObject) { - pRecord = &const_cast<SvxMSDffImportRec&>(*it); + pRecord = const_cast<SvxMSDffImportRec *>(it->get()); break; } } @@ -2682,7 +2682,7 @@ SwFrameFormat* SwWW8ImplReader::Read_GrafLayer( long nGrafAnchorCp ) for (MSDffImportRecords::const_iterator it = aData.begin(); it != aData.end(); ++it) { - pRecord = &const_cast<SvxMSDffImportRec&>(*it); + pRecord = const_cast<SvxMSDffImportRec *>(it->get()); if (pRecord->pObj && pRecord->aTextId.nTxBxS) { // #i52825# pRetFrameFormat can be NULL pRetFrameFormat = MungeTextIntoDrawBox(pRecord->pObj, diff --git a/sw/source/filter/ww8/ww8graf2.cxx b/sw/source/filter/ww8/ww8graf2.cxx index f6ab2cc..c2c0a65 100644 --- a/sw/source/filter/ww8/ww8graf2.cxx +++ b/sw/source/filter/ww8/ww8graf2.cxx @@ -547,7 +547,7 @@ SwFrameFormat* SwWW8ImplReader::ImportGraf(SdrTextObj* pTextObj, RES_FRMATR_END-1 ); SvxMSDffImportRec const*const pRecord = (1 == aData.size()) - ? &*aData.begin() : 0; + ? aData.begin()->get() : nullptr; if( pRecord ) { diff --git a/sw/source/filter/ww8/ww8par.cxx b/sw/source/filter/ww8/ww8par.cxx index 02d26f4..9ae8606 100644 --- a/sw/source/filter/ww8/ww8par.cxx +++ b/sw/source/filter/ww8/ww8par.cxx @@ -1120,7 +1120,7 @@ SdrObject* SwMSDffManager::ProcessObj(SvStream& rSt, { // Complement Import Record List pImpRec->pObj = pObj; - rImportData.aRecords.insert( pImpRec ); + rImportData.m_Records.insert(std::unique_ptr<SvxMSDffImportRec>(pImpRec)); // Complement entry in Z Order List with a pointer to this Object // Only store objects which are not deep inside the tree @@ -4284,7 +4284,7 @@ void wwSectionManager::SetSegmentToPageDesc(const wwSection &rSection, if (mrReader.m_pMSDffManager->GetShape(0x401, pObject, aData)) { // Only handle shape if it is a background shape - if ((aData.begin()->nFlags & 0x400) != 0) + if (((*aData.begin())->nFlags & 0x400) != 0) { SfxItemSet aSet(rFormat.GetAttrSet()); mrReader.MatchSdrItemsIntoFlySet(pObject, aSet, mso_lineSimple, commit 0de2d916dcee1f3afe0e71c3432b99855cf843f1 Author: Michael Stahl <[email protected]> Date: Thu Jul 23 23:03:36 2015 +0200 filter: that cast is silly Change-Id: Id3766ccc992934633c77d8e035abd8390ef088cb diff --git a/filter/source/msfilter/svdfppt.cxx b/filter/source/msfilter/svdfppt.cxx index fa06703..754bb6c 100644 --- a/filter/source/msfilter/svdfppt.cxx +++ b/filter/source/msfilter/svdfppt.cxx @@ -578,7 +578,7 @@ PptFontEntityAtom* SdrEscherImport::GetFontEnityAtom( sal_uInt32 nNum ) const { PptFontEntityAtom* pRetValue = NULL; if (m_pFonts && (nNum < m_pFonts->size())) - pRetValue = (*m_pFonts)[ (sal_uInt16)nNum ].get(); + pRetValue = (*m_pFonts)[ nNum ].get(); return pRetValue; } commit 9c959736caaaab5a757b0a0ff0abb121062483ab Author: Michael Stahl <[email protected]> Date: Thu Jul 23 23:02:50 2015 +0200 filter: replace boost::ptr_vector with std::vector<std::unique_ptr> Change-Id: I87f903c6a81b271847f072fa0608fae4669ac307 diff --git a/filter/source/msfilter/svdfppt.cxx b/filter/source/msfilter/svdfppt.cxx index e11dc43..fa06703 100644 --- a/filter/source/msfilter/svdfppt.cxx +++ b/filter/source/msfilter/svdfppt.cxx @@ -206,7 +206,7 @@ sal_uInt16 PptSlidePersistList::FindPage(sal_uInt32 nId) const { for ( size_t i=0; i < mvEntries.size(); i++ ) { - if (mvEntries[ i ].GetSlideId()==nId) return i; + if (mvEntries[ i ]->GetSlideId() == nId) return i; } return PPTSLIDEPERSIST_ENTRY_NOTFOUND; } @@ -1289,9 +1289,9 @@ SdrPowerPointImport::SdrPowerPointImport( PowerPointImportParam& rParam, const O pPersistPtr ( NULL ), nPersistPtrAnz ( 0 ), pDefaultSheet ( NULL ), - pMasterPages ( NULL ), - pSlidePages ( NULL ), - pNotePages ( NULL ), + m_pMasterPages ( nullptr ), + m_pSlidePages ( nullptr ), + m_pNotePages ( nullptr ), nAktPageNum ( 0 ), nDocStreamPos ( 0 ), nPageColorsNum ( 0xFFFF ), @@ -1478,17 +1478,17 @@ SdrPowerPointImport::SdrPowerPointImport( PowerPointImportParam& rParam, const O // TODO:: PPT_PST_TxPFStyleAtom // read SlidePersists - pMasterPages=new PptSlidePersistList; - pSlidePages =new PptSlidePersistList; - pNotePages =new PptSlidePersistList; + m_pMasterPages = new PptSlidePersistList; + m_pSlidePages = new PptSlidePersistList; + m_pNotePages = new PptSlidePersistList; // now always creating the handout page, it will be the first in our masterpage list - PptSlidePersistEntry* pE = new PptSlidePersistEntry; + std::unique_ptr<PptSlidePersistEntry> pE(new PptSlidePersistEntry); pE->aPersistAtom.nPsrReference = aDocAtom.nHandoutMasterPersist; pE->bHandoutMaster = true; if ( !aDocAtom.nHandoutMasterPersist ) pE->bStarDrawFiller = true; // this is a dummy master page - pMasterPages->insert( pMasterPages->begin(), pE ); + m_pMasterPages->insert(m_pMasterPages->begin(), std::move(pE)); sal_uInt16 nPageListNum = 0; DffRecordHeader* pSlideListWithTextHd = aDocRecManager.GetRecordHeader( PPT_PST_SlideListWithText ); @@ -1502,12 +1502,12 @@ SdrPowerPointImport::SdrPowerPointImport( PowerPointImportParam& rParam, const O { if ( pPreviousPersist ) pPreviousPersist->nSlidePersistEndOffset = rStCtrl.Tell(); - PptSlidePersistEntry* pE2 = new PptSlidePersistEntry; + std::unique_ptr<PptSlidePersistEntry> pE2(new PptSlidePersistEntry); ReadPptSlidePersistAtom( rStCtrl, pE2->aPersistAtom ); pE2->nSlidePersistStartOffset = rStCtrl.Tell(); pE2->ePageKind = PptPageKind( nPageListNum ); - pPageList->push_back( pE2 ); - pPreviousPersist = pE2; + pPreviousPersist = pE2.get(); + pPageList->push_back(std::move(pE2)); } if ( pPreviousPersist ) pPreviousPersist->nSlidePersistEndOffset = nSlideListWithTextHdEndOffset; @@ -1516,19 +1516,19 @@ SdrPowerPointImport::SdrPowerPointImport( PowerPointImportParam& rParam, const O } // we will ensure that there is at least one master page - if ( pMasterPages->size() == 1 ) // -> there is only a handout page available + if (m_pMasterPages->size() == 1) // -> there is only a handout page available { - PptSlidePersistEntry* pE2 = new PptSlidePersistEntry; + std::unique_ptr<PptSlidePersistEntry> pE2(new PptSlidePersistEntry); pE2->bStarDrawFiller = true; // this is a dummy master page - pMasterPages->insert( pMasterPages->begin() + 1, pE2 ); + m_pMasterPages->insert(m_pMasterPages->begin() + 1, std::move(pE2)); } // now we will insert at least one notes master for each master page sal_uInt16 nMasterPage; - sal_uInt16 nMasterPages = pMasterPages->size() - 1; + sal_uInt16 nMasterPages = m_pMasterPages->size() - 1; for ( nMasterPage = 0; nMasterPage < nMasterPages; nMasterPage++ ) { - PptSlidePersistEntry* pE2 = new PptSlidePersistEntry; + std::unique_ptr<PptSlidePersistEntry> pE2(new PptSlidePersistEntry); pE2->bNotesMaster = true; pE2->bStarDrawFiller = true; // this is a dummy master page if ( !nMasterPage && aDocAtom.nNotesMasterPersist ) @@ -1536,7 +1536,7 @@ SdrPowerPointImport::SdrPowerPointImport( PowerPointImportParam& rParam, const O pE2->aPersistAtom.nPsrReference = aDocAtom.nNotesMasterPersist; pE2->bStarDrawFiller = false; // this is a dummy master page } - pMasterPages->insert( pMasterPages->begin() + (( nMasterPage + 1 ) << 1), pE2 ); + m_pMasterPages->insert(m_pMasterPages->begin() + ((nMasterPage + 1) << 1), std::move(pE2)); } // read for each page the SlideAtom respectively the NotesAtom if it exists @@ -1619,12 +1619,12 @@ SdrPowerPointImport::SdrPowerPointImport( PowerPointImportParam& rParam, const O else if ( pHeadersFootersHd->nRecInstance == 4 ) // notes master ImportHeaderFooterContainer( *pHeadersFootersHd, aNotesMaster ); } - for ( size_t i = 0; i < pMasterPages->size(); i++ ) + for (size_t i = 0; i < m_pMasterPages->size(); i++) { - if ( (*pMasterPages)[ i ].bNotesMaster ) - (*pMasterPages)[ i ].pHeaderFooterEntry = new HeaderFooterEntry( aNotesMaster ); + if ((*m_pMasterPages)[ i ].bNotesMaster) + (*m_pMasterPages)[ i ].pHeaderFooterEntry = new HeaderFooterEntry( aNotesMaster ); else - (*pMasterPages)[ i ].pHeaderFooterEntry = new HeaderFooterEntry( aNormalMaster ); + (*m_pMasterPages)[ i ].pHeaderFooterEntry = new HeaderFooterEntry( aNormalMaster ); } } } @@ -1641,9 +1641,9 @@ SdrPowerPointImport::~SdrPowerPointImport() delete aHyperList[ i ]; } aHyperList.clear(); - delete pMasterPages; - delete pSlidePages; - delete pNotePages; + delete m_pMasterPages; + delete m_pSlidePages; + delete m_pNotePages; delete[] pPersistPtr; } @@ -2171,11 +2171,11 @@ bool SdrPowerPointImport::ReadFontCollection() PptSlidePersistList* SdrPowerPointImport::GetPageList(PptPageKind ePageKind) const { if ( ePageKind == PPT_MASTERPAGE ) - return pMasterPages; + return m_pMasterPages; if ( ePageKind == PPT_SLIDEPAGE ) - return pSlidePages; + return m_pSlidePages; if ( ePageKind == PPT_NOTEPAGE ) - return pNotePages; + return m_pNotePages; return NULL; } @@ -2462,7 +2462,7 @@ void SdrPowerPointImport::SetPageNum( sal_uInt16 nPageNum, PptPageKind eKind ) PptSlidePersistEntry* pMasterPersist = &(*pPageList)[ nMasterIndex ]; if ( ( pMasterPersist->pStyleSheet == NULL ) && pMasterPersist->aSlideAtom.nMasterId ) { - nMasterIndex = pMasterPages->FindPage( pMasterPersist->aSlideAtom.nMasterId ); + nMasterIndex = m_pMasterPages->FindPage( pMasterPersist->aSlideAtom.nMasterId ); if ( nMasterIndex != PPTSLIDEPERSIST_ENTRY_NOTFOUND ) pMasterPersist = &(*pPageList)[ nMasterIndex ]; } @@ -2539,7 +2539,7 @@ bool SdrPowerPointImport::GetColorFromPalette( sal_uInt16 nNum, Color& rColor ) while( ( pMasterPersist && pMasterPersist->aSlideAtom.nFlags & 2 ) // it is possible that a masterpage && pMasterPersist->aSlideAtom.nMasterId ) // itself is following a master colorscheme { - sal_uInt16 nNextMaster = pMasterPages->FindPage( pMasterPersist->aSlideAtom.nMasterId ); + sal_uInt16 nNextMaster = m_pMasterPages->FindPage( pMasterPersist->aSlideAtom.nMasterId ); if ( nNextMaster == PPTSLIDEPERSIST_ENTRY_NOTFOUND ) break; else @@ -2772,7 +2772,7 @@ void SdrPowerPointImport::ImportPage( SdrPage* pRet, const PptSlidePersistEntry* PptSlidePersistEntry* pE = &(*pPageList)[ nMasterNum ]; while( ( pE->aSlideAtom.nFlags & 4 ) && pE->aSlideAtom.nMasterId ) { - sal_uInt16 nNextMaster = pMasterPages->FindPage( pE->aSlideAtom.nMasterId ); + sal_uInt16 nNextMaster = m_pMasterPages->FindPage( pE->aSlideAtom.nMasterId ); if ( nNextMaster == PPTSLIDEPERSIST_ENTRY_NOTFOUND ) break; else @@ -2931,9 +2931,9 @@ sal_uInt16 SdrPowerPointImport::GetMasterPageIndex( sal_uInt16 nPageNum, PptPage if ( ePageKind == PPT_NOTEPAGE ) return 2; sal_uInt32 nId = GetMasterPageId( nPageNum, ePageKind ); - if ( nId && pMasterPages ) + if (nId && m_pMasterPages) { - nIdx = pMasterPages->FindPage( nId ); + nIdx = m_pMasterPages->FindPage( nId ); if ( nIdx == PPTSLIDEPERSIST_ENTRY_NOTFOUND ) nIdx = 0; } diff --git a/include/filter/msfilter/svdfppt.hxx b/include/filter/msfilter/svdfppt.hxx index dd4cfcf..e355d65 100644 --- a/include/filter/msfilter/svdfppt.hxx +++ b/include/filter/msfilter/svdfppt.hxx @@ -36,9 +36,9 @@ #include <filter/msfilter/msfilterdllapi.h> #include <vcl/font.hxx> #include <vector> +#include <memory> #include <boost/noncopyable.hpp> #include <boost/optional.hpp> -#include <boost/ptr_container/ptr_vector.hpp> class SdrModel; class SdPage; @@ -354,23 +354,27 @@ public: class MSFILTER_DLLPUBLIC PptSlidePersistList: private boost::noncopyable { private: - boost::ptr_vector<PptSlidePersistEntry> mvEntries; + typedef std::vector<std::unique_ptr<PptSlidePersistEntry>> Entries_t; + Entries_t mvEntries; public: PptSlidePersistList(); ~PptSlidePersistList(); size_t size() const { return mvEntries.size(); } - bool is_null( size_t nIdx ) const { return mvEntries.is_null( nIdx ); } - const PptSlidePersistEntry& operator[]( size_t nIdx ) const { return mvEntries[ nIdx ]; } - PptSlidePersistEntry& operator[]( size_t nIdx ) { return mvEntries[ nIdx ]; } - boost::ptr_vector<PptSlidePersistEntry>::iterator begin() { return mvEntries.begin(); } - void insert( boost::ptr_vector<PptSlidePersistEntry>::iterator it, - PptSlidePersistEntry* pEntry ) + bool is_null( size_t nIdx ) const { return mvEntries[ nIdx ] == nullptr; } + const PptSlidePersistEntry& operator[](size_t nIdx) const { return *mvEntries[ nIdx ]; } + PptSlidePersistEntry& operator[](size_t nIdx) { return *mvEntries[ nIdx ]; } + Entries_t::iterator begin() { return mvEntries.begin(); } + void insert( Entries_t::iterator it, + std::unique_ptr<PptSlidePersistEntry> pEntry ) { - mvEntries.insert(it, pEntry); + mvEntries.insert(it, std::move(pEntry)); + } + void push_back(std::unique_ptr<PptSlidePersistEntry> pEntry) + { + mvEntries.push_back(std::move(pEntry)); } - void push_back( PptSlidePersistEntry* pEntry ) { mvEntries.push_back(pEntry); } sal_uInt16 FindPage( sal_uInt32 nId ) const; }; @@ -545,9 +549,9 @@ protected: const PPTStyleSheet* pPPTStyleSheet; // this is the current stylesheet; const PPTStyleSheet* pDefaultSheet; // this is a sheet we are using if no masterpage can be found, but that should // never happen just preventing a crash - PptSlidePersistList* pMasterPages; - PptSlidePersistList* pSlidePages; - PptSlidePersistList* pNotePages; + PptSlidePersistList* m_pMasterPages; + PptSlidePersistList* m_pSlidePages; + PptSlidePersistList* m_pNotePages; sal_uInt16 nAktPageNum; sal_uLong nDocStreamPos; sal_uInt16 nPageColorsNum; diff --git a/sd/source/filter/ppt/pptin.cxx b/sd/source/filter/ppt/pptin.cxx index ca300f1..68f80f3 100644 --- a/sd/source/filter/ppt/pptin.cxx +++ b/sd/source/filter/ppt/pptin.cxx @@ -541,7 +541,7 @@ bool ImplSdPPTImport::Import() // create master pages: SfxProgress* pStbMgr = new SfxProgress( pDocShell, SD_RESSTR( STR_POWERPOINT_IMPORT ), - pMasterPages->size() + pSlidePages->size() + pNotePages->size() ); + m_pMasterPages->size() + m_pSlidePages->size() + m_pNotePages->size() ); sal_uInt32 nImportedPages = 0; { @@ -726,7 +726,7 @@ bool ImplSdPPTImport::Import() PptSlidePersistEntry* pE = pPersist; while( ( pE->aSlideAtom.nFlags & 4 ) && pE->aSlideAtom.nMasterId ) { - sal_uInt16 nNextMaster = pMasterPages->FindPage( pE->aSlideAtom.nMasterId ); + sal_uInt16 nNextMaster = m_pMasterPages->FindPage( pE->aSlideAtom.nMasterId ); if ( nNextMaster == PPTSLIDEPERSIST_ENTRY_NOTFOUND ) break; else @@ -952,7 +952,7 @@ bool ImplSdPPTImport::Import() if ( nNotesPageId ) { nImportedPages++; - sal_uInt16 nNotesPageIndex = pNotePages->FindPage( nNotesPageId ); + sal_uInt16 nNotesPageIndex = m_pNotePages->FindPage( nNotesPageId ); if ( nNotesPageIndex == PPTSLIDEPERSIST_ENTRY_NOTFOUND ) nNotesPageIndex = 0; SetPageNum( nNotesPageIndex, PPT_NOTEPAGE ); commit 2ca3569e04bdebf94496ba24829e696493413b90 Author: Michael Stahl <[email protected]> Date: Thu Jul 23 22:41:02 2015 +0200 filter: replace boost::ptr_vector with std::vector<std::unique_ptr> Change-Id: I2659fea1fb18c5b0a4ff5339643c7c28c0f5f458 diff --git a/filter/source/msfilter/svdfppt.cxx b/filter/source/msfilter/svdfppt.cxx index e709914..e11dc43 100644 --- a/filter/source/msfilter/svdfppt.cxx +++ b/filter/source/msfilter/svdfppt.cxx @@ -450,7 +450,8 @@ SvStream& ReadPptFontEntityAtom( SvStream& rIn, PptFontEntityAtom& rAtom ) return rIn; } -class PptFontCollection: public boost::ptr_vector<PptFontEntityAtom> { +class PptFontCollection : public std::vector<std::unique_ptr<PptFontEntityAtom>> +{ }; SvStream& ReadPptUserEditAtom( SvStream& rIn, PptUserEditAtom& rAtom ) @@ -514,7 +515,7 @@ PptSlidePersistEntry::~PptSlidePersistEntry() SdrEscherImport::SdrEscherImport( PowerPointImportParam& rParam, const OUString& rBaseURL ) : SvxMSDffManager ( rParam.rDocStream, rBaseURL ), - pFonts ( NULL ), + m_pFonts ( nullptr ), nStreamLen ( 0 ), nTextStylesIndex ( 0xffff ), eCharSetSystem ( osl_getThreadTextEncoding() ), @@ -533,7 +534,7 @@ SdrEscherImport::~SdrEscherImport() for ( size_t i = 0, n = aOleObjectList.size(); i < n; ++i ) delete aOleObjectList[ i ]; aOleObjectList.clear(); - delete pFonts; + delete m_pFonts; } const PptSlideLayoutAtom* SdrEscherImport::GetSlideLayoutAtom() const @@ -576,8 +577,8 @@ bool SdrEscherImport::SeekToShape( SvStream& /*rSt*/, void* /*pClientData*/, sal PptFontEntityAtom* SdrEscherImport::GetFontEnityAtom( sal_uInt32 nNum ) const { PptFontEntityAtom* pRetValue = NULL; - if ( pFonts && ( nNum < pFonts->size() ) ) - pRetValue = &(*pFonts)[ (sal_uInt16)nNum ]; + if (m_pFonts && (nNum < m_pFonts->size())) + pRetValue = (*m_pFonts)[ (sal_uInt16)nNum ].get(); return pRetValue; } @@ -1441,7 +1442,7 @@ SdrPowerPointImport::SdrPowerPointImport( PowerPointImportParam& rParam, const O if ( bOk ) { - if ( !pFonts ) + if (!m_pFonts) ReadFontCollection(); // reading TxPF, TxSI @@ -2133,9 +2134,9 @@ bool SdrPowerPointImport::ReadFontCollection() while ( SeekToRec( rStCtrl, PPT_PST_FontEntityAtom, aListHd.GetRecEndFilePos() ) ) { bRet = true; - if ( !pFonts ) - pFonts = new PptFontCollection; - PptFontEntityAtom* pFont = new PptFontEntityAtom; + if (!m_pFonts) + m_pFonts = new PptFontCollection; + std::unique_ptr<PptFontEntityAtom> pFont(new PptFontEntityAtom); ReadPptFontEntityAtom( rStCtrl, *pFont ); vcl::Font aFont; @@ -2159,7 +2160,7 @@ bool SdrPowerPointImport::ReadFontCollection() { pFont->eCharSet = RTL_TEXTENCODING_SYMBOL; }; - pFonts->insert( pFonts->begin() + nCount2++, pFont ); + m_pFonts->insert(m_pFonts->begin() + nCount2++, std::move(pFont)); } } rStCtrl.Seek( nFPosMerk ); // restore FilePos diff --git a/include/filter/msfilter/svdfppt.hxx b/include/filter/msfilter/svdfppt.hxx index cabb4b9..dd4cfcf 100644 --- a/include/filter/msfilter/svdfppt.hxx +++ b/include/filter/msfilter/svdfppt.hxx @@ -430,7 +430,7 @@ protected: PPTOleEntryList aOleObjectList; // contains PPTOleEntrys - PptFontCollection* pFonts; + PptFontCollection* m_pFonts; sal_uInt32 nStreamLen; sal_uInt16 nTextStylesIndex; commit 88b992d0da1e6122942cd9817ac55da1b932fdd6 Author: Michael Stahl <[email protected]> Date: Thu Jul 23 22:32:14 2015 +0200 filter: convert boost::ptr_vector to std::vector<std::unique_ptr> Change-Id: I548f15466c695e4cbf5e505771d7c0baf8812198 diff --git a/filter/source/msfilter/svdfppt.cxx b/filter/source/msfilter/svdfppt.cxx index 615a366..e709914 100644 --- a/filter/source/msfilter/svdfppt.cxx +++ b/filter/source/msfilter/svdfppt.cxx @@ -5701,13 +5701,13 @@ PPTParagraphObj::PPTParagraphObj( PPTStyleTextPropReader& rPropReader, { PPTCharPropSet *const pCharPropSet = rPropReader.aCharPropList[rnCurCharPos]; - PPTPortionObj* pPPTPortion = new PPTPortionObj( *pCharPropSet, - rStyleSheet, nInstance, pParaSet->mnDepth ); - m_PortionList.push_back(pPPTPortion); + std::unique_ptr<PPTPortionObj> pPPTPortion(new PPTPortionObj( + *pCharPropSet, rStyleSheet, nInstance, pParaSet->mnDepth)); if (!mbTab) { mbTab = pPPTPortion->HasTabulator(); } + m_PortionList.push_back(std::move(pPPTPortion)); } } } @@ -5718,10 +5718,11 @@ PPTParagraphObj::~PPTParagraphObj() void PPTParagraphObj::AppendPortion( PPTPortionObj& rPPTPortion ) { - m_PortionList.push_back(new PPTPortionObj(rPPTPortion)); + m_PortionList.push_back( + std::unique_ptr<PPTPortionObj>(new PPTPortionObj(rPPTPortion))); if ( !mbTab ) { - mbTab = m_PortionList.back().HasTabulator(); + mbTab = m_PortionList.back()->HasTabulator(); } } @@ -5732,7 +5733,7 @@ void PPTParagraphObj::UpdateBulletRelSize( sal_uInt32& nBulletRelSize ) const sal_uInt16 nFontHeight = 0; if (!m_PortionList.empty()) { - PPTPortionObj const& rPortion = m_PortionList.front(); + PPTPortionObj const& rPortion = *m_PortionList.front(); if (rPortion.pCharSet->mnAttrSet & (1 << PPT_CharAttr_FontHeight)) { nFontHeight = rPortion.pCharSet->mnFontHeight; @@ -5775,7 +5776,7 @@ bool PPTParagraphObj::GetAttrib( sal_uInt32 nAttr, sal_uInt32& rRetValue, sal_uI rRetValue = PPT_COLSCHEME_TEXT_UND_ZEILEN; if ((nDestinationInstance != 0xffffffff) && !m_PortionList.empty()) { - PPTPortionObj const& rPortion = m_PortionList.front(); + PPTPortionObj const& rPortion = *m_PortionList.front(); if (rPortion.pCharSet->mnAttrSet & (1 << PPT_CharAttr_FontColor)) { rRetValue = rPortion.pCharSet->mnColor; @@ -5803,7 +5804,7 @@ bool PPTParagraphObj::GetAttrib( sal_uInt32 nAttr, sal_uInt32& rRetValue, sal_uI rRetValue = 0; if ((nDestinationInstance != 0xffffffff) && !m_PortionList.empty()) { - PPTPortionObj const& rPortion = m_PortionList.front(); + PPTPortionObj const& rPortion = *m_PortionList.front(); if (rPortion.pCharSet->mnAttrSet & ( 1 << PPT_CharAttr_Font ) ) { rRetValue = rPortion.pCharSet->mnFont; @@ -5869,7 +5870,7 @@ bool PPTParagraphObj::GetAttrib( sal_uInt32 nAttr, sal_uInt32& rRetValue, sal_uI { if (!m_PortionList.empty()) { - PPTPortionObj const& rPortion = m_PortionList.front(); + PPTPortionObj const& rPortion = *m_PortionList.front(); bIsHardAttribute = rPortion.GetAttrib( PPT_CharAttr_Font, rRetValue, nDestinationInstance); } @@ -5905,7 +5906,7 @@ bool PPTParagraphObj::GetAttrib( sal_uInt32 nAttr, sal_uInt32& rRetValue, sal_uI { if (!m_PortionList.empty()) { - PPTPortionObj const& rPortion = m_PortionList.front(); + PPTPortionObj const& rPortion = *m_PortionList.front(); if (rPortion.mbIsHyperlink ) { if( rPortion.mbHardHylinkOrigColor ) @@ -6137,7 +6138,7 @@ void PPTParagraphObj::ApplyTo( SfxItemSet& rSet, boost::optional< sal_Int16 >& if (!m_PortionList.empty()) { sal_uInt32 nFontHeight = 0; - m_PortionList.back().GetAttrib( + m_PortionList.back()->GetAttrib( PPT_CharAttr_FontHeight, nFontHeight, nDestinationInstance); if ( ((sal_Int16)nUpperDist) > 0 ) nUpperDist = - (sal_Int16)( ( nFontHeight * nUpperDist * 100 ) / 1000 ); @@ -6219,7 +6220,7 @@ sal_uInt32 PPTParagraphObj::GetTextSize() sal_uInt32 nCount, nRetValue = 0; for (size_t i = 0; i < m_PortionList.size(); i++) { - PPTPortionObj const& rPortionObj = m_PortionList[i]; + PPTPortionObj const& rPortionObj = *m_PortionList[i]; nCount = rPortionObj.Count(); if ((!nCount) && rPortionObj.mpFieldItem) nCount++; @@ -6233,7 +6234,7 @@ PPTPortionObj* PPTParagraphObj::First() mnCurrentObject = 0; if (m_PortionList.empty()) return NULL; - return &m_PortionList.front(); + return m_PortionList.front().get(); } PPTPortionObj* PPTParagraphObj::Next() @@ -6242,7 +6243,7 @@ PPTPortionObj* PPTParagraphObj::Next() if (i >= m_PortionList.size()) return NULL; mnCurrentObject++; - return &m_PortionList[i]; + return m_PortionList[i].get(); } PPTFieldEntry::~PPTFieldEntry() diff --git a/include/filter/msfilter/svdfppt.hxx b/include/filter/msfilter/svdfppt.hxx index b864c67..cabb4b9 100644 --- a/include/filter/msfilter/svdfppt.hxx +++ b/include/filter/msfilter/svdfppt.hxx @@ -1161,7 +1161,7 @@ public: bool mbTab; // if true, this paragraph has tabulators in text sal_uInt32 mnCurrentObject; - ::boost::ptr_vector<PPTPortionObj> m_PortionList; + ::std::vector<std::unique_ptr<PPTPortionObj>> m_PortionList; void UpdateBulletRelSize( sal_uInt32& nBulletRelSize ) const; bool GetAttrib( sal_uInt32 nAttr, sal_uInt32& nVal, sal_uInt32 nInstanceInSheet ); commit 5e6a0eed2743b99dbbe133168204fdb184608476 Author: Michael Stahl <[email protected]> Date: Thu Jul 23 22:21:49 2015 +0200 svx: replace boost::ptr_vector with std::vector<std::unique_ptr> Change-Id: I512ed27ef812498e021e320259b1e0862969a10e diff --git a/include/svx/PaletteManager.hxx b/include/svx/PaletteManager.hxx index 7af989c..7ad0cdb 100644 --- a/include/svx/PaletteManager.hxx +++ b/include/svx/PaletteManager.hxx @@ -23,7 +23,6 @@ #include <svx/Palette.hxx> #include <rtl/ustring.hxx> #include <svx/tbxcolorupdate.hxx> -#include <deque> #include <tools/urlobj.hxx> #include <comphelper/processfactory.hxx> @@ -33,7 +32,9 @@ #include <com/sun/star/frame/Desktop.hpp> #include <com/sun/star/frame/XDispatchProvider.hpp> -#include <boost/ptr_container/ptr_vector.hpp> +#include <deque> +#include <vector> +#include <memory> class PaletteManager { @@ -47,7 +48,8 @@ class PaletteManager Color mLastColor; std::deque<Color> maRecentColors; - boost::ptr_vector<Palette> maPalettes; + std::vector<std::unique_ptr<Palette>> m_Palettes; + public: PaletteManager(); ~PaletteManager(); diff --git a/svx/source/tbxctrls/PaletteManager.cxx b/svx/source/tbxctrls/PaletteManager.cxx index 3334afc..658348f 100644 --- a/svx/source/tbxctrls/PaletteManager.cxx +++ b/svx/source/tbxctrls/PaletteManager.cxx @@ -39,7 +39,7 @@ PaletteManager::PaletteManager() : mLastColor(COL_AUTO) { LoadPalettes(); - mnNumOfPalettes += maPalettes.size(); + mnNumOfPalettes += m_Palettes.size(); } PaletteManager::~PaletteManager() @@ -48,7 +48,7 @@ PaletteManager::~PaletteManager() void PaletteManager::LoadPalettes() { - maPalettes.clear(); + m_Palettes.clear(); OUString aPalPaths = SvtPathOptions().GetPalettePath(); std::stack<OUString> aDirs; @@ -82,16 +82,16 @@ void PaletteManager::LoadPalettes() OUString aFName = aFileStat.getFileName(); if (aNames.find(aFName) == aNames.end()) { - Palette* pPalette = 0; + std::unique_ptr<Palette> pPalette; if( aFName.endsWithIgnoreAsciiCase(".gpl") ) - pPalette = new PaletteGPL( aFileStat.getFileURL(), aFName ); + pPalette.reset(new PaletteGPL(aFileStat.getFileURL(), aFName)); else if( aFName.endsWithIgnoreAsciiCase(".soc") ) - pPalette = new PaletteSOC( aFileStat.getFileURL(), aFName ); + pPalette.reset(new PaletteSOC(aFileStat.getFileURL(), aFName)); else if ( aFName.endsWithIgnoreAsciiCase(".ase") ) - pPalette = new PaletteASE( aFileStat.getFileURL(), aFName ); + pPalette.reset(new PaletteASE(aFileStat.getFileURL(), aFName)); if( pPalette && pPalette->IsValid() ) - maPalettes.push_back( pPalette ); + m_Palettes.push_back( std::move(pPalette) ); aNames.insert(aFName); } } @@ -136,7 +136,7 @@ void PaletteManager::ReloadColorSet(SvxColorValueSet &rColorSet) } else { - maPalettes[mnCurrentPalette-1].LoadColorSet( rColorSet ); + m_Palettes[mnCurrentPalette-1]->LoadColorSet( rColorSet ); mnColorCount = rColorSet.GetItemCount(); } } @@ -159,9 +159,7 @@ std::vector<OUString> PaletteManager::GetPaletteList() aPaletteNames.push_back( SVX_RESSTR( RID_SVXSTR_DEFAULT_PAL ) ); - for( boost::ptr_vector<Palette>::iterator it = maPalettes.begin(); - it != maPalettes.end(); - ++it) + for (auto const& it : m_Palettes) { aPaletteNames.push_back( (*it).GetName() ); } commit 2f467535231af44af5ee857e2444a87779e82b2c Author: Michael Stahl <[email protected]> Date: Thu Jul 23 22:14:07 2015 +0200 svtools: replace boost::ptr_vector with std::vector Change-Id: I70a2919e43495ce10c0c90ec91a25604d82e7d28 diff --git a/include/svtools/parhtml.hxx b/include/svtools/parhtml.hxx index ee5c419..85a514f 100644 --- a/include/svtools/parhtml.hxx +++ b/include/svtools/parhtml.hxx @@ -23,7 +23,7 @@ #include <svtools/svtdllapi.h> #include <svtools/svparser.hxx> -#include <boost/ptr_container/ptr_vector.hpp> +#include <vector> namespace com { namespace sun { namespace star { namespace document { @@ -118,7 +118,7 @@ public: //SvxAdjust GetAdjust() const; // <P,TH,TD ALIGN=> }; -typedef ::boost::ptr_vector<HTMLOption> HTMLOptions; +typedef ::std::vector<HTMLOption> HTMLOptions; class SVT_DLLPUBLIC HTMLParser : public SvParser { diff --git a/svtools/inc/pch/precompiled_svt.hxx b/svtools/inc/pch/precompiled_svt.hxx index ba111fc..023fb2c 100644 --- a/svtools/inc/pch/precompiled_svt.hxx +++ b/svtools/inc/pch/precompiled_svt.hxx @@ -282,7 +282,6 @@ #include <memory> #include <numeric> #include <o3tl/numeric.hxx> -#include <o3tl/ptr_container.hxx> #include <officecfg/Office/Common.hxx> #include <osl/conditn.hxx> #include <osl/diagnose.h> diff --git a/svtools/source/svhtml/parhtml.cxx b/svtools/source/svhtml/parhtml.cxx index 2627bc1..b9e228a 100644 --- a/svtools/source/svhtml/parhtml.cxx +++ b/svtools/source/svhtml/parhtml.cxx @@ -20,7 +20,6 @@ #include <ctype.h> #include <comphelper/string.hxx> -#include <o3tl/ptr_container.hxx> #include <tools/stream.hxx> #include <tools/debug.hxx> #include <tools/color.hxx> @@ -1577,10 +1576,9 @@ const HTMLOptions& HTMLParser::GetOptions( sal_uInt16 *pNoConvertToken ) } // Token is known and can be saved - std::unique_ptr<HTMLOption> pOption( - new HTMLOption(sal::static_int_cast<sal_uInt16>(nToken), sName, aValue)); + maOptions.push_back( + HTMLOption(sal::static_int_cast<sal_uInt16>(nToken), sName, aValue)); - o3tl::ptr_container::push_back(maOptions, std::move(pOption)); } else // Ignore white space and unexpected characters commit cef74993a96feae0dd7489a11dfdf062687c0868 Author: Michael Stahl <[email protected]> Date: Thu Jul 23 21:58:31 2015 +0200 svtools: replace boost::ptr_vector with std::vector<std::unique_ptr> Change-Id: Ib0b10305768d368585d80ad6163e9081a4d8cd28 diff --git a/include/svtools/ctrltool.hxx b/include/svtools/ctrltool.hxx index edda87f..e66e2c2 100644 --- a/include/svtools/ctrltool.hxx +++ b/include/svtools/ctrltool.hxx @@ -20,14 +20,16 @@ #ifndef INCLUDED_SVTOOLS_CTRLTOOL_HXX #define INCLUDED_SVTOOLS_CTRLTOOL_HXX -#include <boost/ptr_container/ptr_vector.hpp> - #include <svtools/svtdllapi.h> #include <rtl/ustring.hxx> #include <sal/types.h> #include <vcl/metric.hxx> #include <tools/solar.h> +#include <vector> +#include <memory> + + class ImplFontListNameInfo; class OutputDevice; @@ -149,7 +151,7 @@ private: sal_IntPtr* mpSizeAry; VclPtr<OutputDevice> mpDev; VclPtr<OutputDevice> mpDev2; - boost::ptr_vector<ImplFontListNameInfo> maEntries; + std::vector<std::unique_ptr<ImplFontListNameInfo>> m_Entries; SVT_DLLPRIVATE ImplFontListNameInfo* ImplFind( const OUString& rSearchName, sal_uLong* pIndex ) const; SVT_DLLPRIVATE ImplFontListNameInfo* ImplFindByName( const OUString& rStr ) const; @@ -182,7 +184,7 @@ public: bool IsAvailable( const OUString& rName ) const; sal_uInt16 GetFontNameCount() const { - return (sal_uInt16)maEntries.size(); + return (sal_uInt16)m_Entries.size(); } const vcl::FontInfo& GetFontName( sal_uInt16 nFont ) const; sal_Handle GetFirstFontInfo( const OUString& rName ) const; diff --git a/svtools/source/control/ctrltool.cxx b/svtools/source/control/ctrltool.cxx index 4e46dda..50a304c 100644 --- a/svtools/source/control/ctrltool.cxx +++ b/svtools/source/control/ctrltool.cxx @@ -168,8 +168,7 @@ ImplFontListNameInfo* FontList::ImplFind(const OUString& rSearchName, sal_uLong* // then the last one. We only compare to the last entry as the list of VCL // is returned sorted, which increases the probability that appending // is more likely - sal_uLong nCnt = maEntries.size(); - if ( !nCnt ) + if (m_Entries.empty()) { if ( pIndex ) *pIndex = ULONG_MAX; @@ -177,7 +176,7 @@ ImplFontListNameInfo* FontList::ImplFind(const OUString& rSearchName, sal_uLong* } else { - const ImplFontListNameInfo* pCmpData = &maEntries[nCnt-1]; + const ImplFontListNameInfo* pCmpData = m_Entries.back().get(); sal_Int32 nComp = rSearchName.compareTo( pCmpData->maSearchName ); if (nComp > 0) { @@ -192,14 +191,14 @@ ImplFontListNameInfo* FontList::ImplFind(const OUString& rSearchName, sal_uLong* // search fonts in the list const ImplFontListNameInfo* pCompareData; const ImplFontListNameInfo* pFoundData = NULL; - sal_uLong nLow = 0; - sal_uLong nHigh = nCnt-1; - sal_uLong nMid; + size_t nLow = 0; + size_t nHigh = m_Entries.size() - 1; + size_t nMid; do { nMid = (nLow + nHigh) / 2; - pCompareData = &maEntries[nMid]; + pCompareData = m_Entries[nMid].get(); sal_Int32 nComp = rSearchName.compareTo(pCompareData->maSearchName); if (nComp < 0) { @@ -275,10 +274,11 @@ void FontList::ImplInsertFonts( OutputDevice* pDevice, bool bAll, pData->mpFirst = pNewInfo; pNewInfo->mpNext = NULL; - if (nIndex < maEntries.size()) - maEntries.insert(maEntries.begin()+nIndex,pData); + if (nIndex < m_Entries.size()) + m_Entries.insert(m_Entries.begin()+nIndex, + std::unique_ptr<ImplFontListNameInfo>(pData)); else - maEntries.push_back(pData); + m_Entries.push_back(std::unique_ptr<ImplFontListNameInfo>(pData)); } } else @@ -372,8 +372,7 @@ FontList::~FontList() // delete FontInfos ImplFontListFontInfo *pTemp, *pInfo; - boost::ptr_vector<ImplFontListNameInfo>::iterator it; - for (it = maEntries.begin(); it != maEntries.end(); ++it) + for (auto const& it : m_Entries) { pInfo = it->mpFirst; while ( pInfo ) @@ -701,7 +700,7 @@ const vcl::FontInfo& FontList::GetFontName( sal_uInt16 nFont ) const { DBG_ASSERT( nFont < GetFontNameCount(), "FontList::GetFontName(): nFont >= Count" ); - return *(maEntries[nFont].mpFirst); + return *(m_Entries[nFont]->mpFirst); } sal_Handle FontList::GetFirstFontInfo(const OUString& rName) const _______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
