filter/source/msfilter/msdffimp.cxx | 10 +++++----- include/filter/msfilter/msdffimp.hxx | 2 +- sw/source/filter/ww8/ww8par.cxx | 13 +++++++------ 3 files changed, 13 insertions(+), 12 deletions(-)
New commits: commit caa25f8e5f39e95fec1b32e352c841a6c0bf2fb3 Author: Noel Grandin <[email protected]> AuthorDate: Thu Jan 17 15:51:51 2019 +0200 Commit: Noel Grandin <[email protected]> CommitDate: Fri Jan 18 13:12:55 2019 +0100 pass SvxMSDffImportRec around using unique_ptr Change-Id: Ib2a93682f6d2745489e07cf04e3509146213c7ee Reviewed-on: https://gerrit.libreoffice.org/66571 Tested-by: Jenkins Reviewed-by: Noel Grandin <[email protected]> diff --git a/filter/source/msfilter/msdffimp.cxx b/filter/source/msfilter/msdffimp.cxx index 06deedf59392..e9e6cbfe2f24 100644 --- a/filter/source/msfilter/msdffimp.cxx +++ b/filter/source/msfilter/msdffimp.cxx @@ -5056,10 +5056,10 @@ SvxMSDffImportRec* SvxMSDffImportData::find(const SdrObject* pObj) return nullptr; } -void SvxMSDffImportData::insert(SvxMSDffImportRec* pImpRec) +void SvxMSDffImportData::insert(std::unique_ptr<SvxMSDffImportRec> pImpRec) { - m_ObjToRecMap[pImpRec->pObj] = pImpRec; - m_Records.insert(std::unique_ptr<SvxMSDffImportRec>(pImpRec)); + m_ObjToRecMap[pImpRec->pObj] = pImpRec.get(); + m_Records.insert(std::move(pImpRec)); } void SvxMSDffImportData::NotifyFreeObj(SdrObject* pObj) @@ -5576,7 +5576,7 @@ SdrObject* SvxMSDffManager::ProcessObj(SvStream& rSt, if( pOrgObj ) { pImpRec->pObj = pOrgObj; - rImportData.insert(pImpRec); + rImportData.insert(std::unique_ptr<SvxMSDffImportRec>(pImpRec)); bDeleteImpRec = false; if (pImpRec == pTextImpRec) bDeleteTextImpRec = false; @@ -5587,7 +5587,7 @@ SdrObject* SvxMSDffManager::ProcessObj(SvStream& rSt, // Modify ShapeId (must be unique) pImpRec->nShapeId |= 0x8000000; pTextImpRec->pObj = pTextObj; - rImportData.insert(pTextImpRec); + rImportData.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 4ff14484e398..f27956c0d7ef 100644 --- a/include/filter/msfilter/msdffimp.hxx +++ b/include/filter/msfilter/msdffimp.hxx @@ -289,7 +289,7 @@ public: SvxMSDffImportData( SvxMSDffImportData const & ) = delete; // MSVC2015 workaround virtual ~SvxMSDffImportData() override; bool empty() const { return m_Records.empty(); } - void insert(SvxMSDffImportRec* pImpRec); + void insert(std::unique_ptr<SvxMSDffImportRec> pImpRec); void unmap(const SdrObject* pObj) { m_ObjToRecMap.erase(pObj); } size_t size() const { return m_Records.size(); } SvxMSDffImportRec* find(const SdrObject* pObj); diff --git a/sw/source/filter/ww8/ww8par.cxx b/sw/source/filter/ww8/ww8par.cxx index 18642cc06621..5b3010e90637 100644 --- a/sw/source/filter/ww8/ww8par.cxx +++ b/sw/source/filter/ww8/ww8par.cxx @@ -593,7 +593,7 @@ SdrObject* SwMSDffManager::ProcessObj(SvStream& rSt, if( !rTextRect.IsEmpty() ) { SvxMSDffImportData& rImportData = static_cast<SvxMSDffImportData&>(rData); - SvxMSDffImportRec* pImpRec = new SvxMSDffImportRec; + std::unique_ptr<SvxMSDffImportRec> pImpRec(new SvxMSDffImportRec); // fill Import Record with data pImpRec->nShapeId = rObjData.nShapeId; @@ -1066,9 +1066,10 @@ SdrObject* SwMSDffManager::ProcessObj(SvStream& rSt, if( pImpRec->nShapeId ) { + auto pImpRecTmp = pImpRec.get(); // Complement Import Record List pImpRec->pObj = pObj; - rImportData.insert(pImpRec); + rImportData.insert(std::move(pImpRec)); // Complement entry in Z Order List with a pointer to this Object // Only store objects which are not deep inside the tree @@ -1077,12 +1078,12 @@ SdrObject* SwMSDffManager::ProcessObj(SvStream& rSt, ( (rObjData.nSpFlags & ShapeFlag::Group) && (rObjData.nCalledByGroup < 2) ) ) - StoreShapeOrder( pImpRec->nShapeId, - ( static_cast<sal_uLong>(pImpRec->aTextId.nTxBxS) << 16 ) - + pImpRec->aTextId.nSequence, pObj ); + StoreShapeOrder( pImpRecTmp->nShapeId, + ( static_cast<sal_uLong>(pImpRecTmp->aTextId.nTxBxS) << 16 ) + + pImpRecTmp->aTextId.nSequence, pObj ); } else - delete pImpRec; + pImpRec.reset(); } sal_uInt32 nBufferSize = GetPropertyValue( DFF_Prop_pihlShape, 0 ); _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
