Kaydet (Commit) afeda721 authored tarafından Noel Grandin's avatar Noel Grandin

loplugin:useuniqueptr in SdrUndoGeoObj

Change-Id: I8b48642a3a6ab4d94c1b58f8dae3589e703612b1
Reviewed-on: https://gerrit.libreoffice.org/49329Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarNoel Grandin <noel.grandin@collabora.co.uk>
üst 72fefd7a
...@@ -207,10 +207,10 @@ public: ...@@ -207,10 +207,10 @@ public:
class SVX_DLLPUBLIC SdrUndoGeoObj : public SdrUndoObj class SVX_DLLPUBLIC SdrUndoGeoObj : public SdrUndoObj
{ {
protected: protected:
SdrObjGeoData* pUndoGeo; std::unique_ptr<SdrObjGeoData> pUndoGeo;
SdrObjGeoData* pRedoGeo; std::unique_ptr<SdrObjGeoData> pRedoGeo;
// If we have a group object: // If we have a group object:
SdrUndoGroup* pUndoGroup; std::unique_ptr<SdrUndoGroup> pUndoGroup;
/// If we have a table object, should its layout change? /// If we have a table object, should its layout change?
bool mbSkipChangeLayout; bool mbSkipChangeLayout;
......
...@@ -581,9 +581,6 @@ OUString SdrUndoMoveObj::GetSdrRepeatComment(SdrView& /*rView*/) const ...@@ -581,9 +581,6 @@ OUString SdrUndoMoveObj::GetSdrRepeatComment(SdrView& /*rView*/) const
SdrUndoGeoObj::SdrUndoGeoObj(SdrObject& rNewObj) SdrUndoGeoObj::SdrUndoGeoObj(SdrObject& rNewObj)
: SdrUndoObj(rNewObj) : SdrUndoObj(rNewObj)
, pUndoGeo(nullptr)
, pRedoGeo(nullptr)
, pUndoGroup(nullptr)
, mbSkipChangeLayout(false) , mbSkipChangeLayout(false)
{ {
SdrObjList* pOL=rNewObj.GetSubList(); SdrObjList* pOL=rNewObj.GetSubList();
...@@ -592,7 +589,7 @@ SdrUndoGeoObj::SdrUndoGeoObj(SdrObject& rNewObj) ...@@ -592,7 +589,7 @@ SdrUndoGeoObj::SdrUndoGeoObj(SdrObject& rNewObj)
// this is a group object! // this is a group object!
// If this were 3D scene, we'd only add an Undo for the scene itself // If this were 3D scene, we'd only add an Undo for the scene itself
// (which we do elsewhere). // (which we do elsewhere).
pUndoGroup=new SdrUndoGroup(*pObj->GetModel()); pUndoGroup.reset(new SdrUndoGroup(*pObj->GetModel()));
const size_t nObjCount = pOL->GetObjCount(); const size_t nObjCount = pOL->GetObjCount();
for (size_t nObjNum = 0; nObjNum<nObjCount; ++nObjNum) { for (size_t nObjNum = 0; nObjNum<nObjCount; ++nObjNum) {
pUndoGroup->AddAction(new SdrUndoGeoObj(*pOL->GetObj(nObjNum))); pUndoGroup->AddAction(new SdrUndoGeoObj(*pOL->GetObj(nObjNum)));
...@@ -600,15 +597,15 @@ SdrUndoGeoObj::SdrUndoGeoObj(SdrObject& rNewObj) ...@@ -600,15 +597,15 @@ SdrUndoGeoObj::SdrUndoGeoObj(SdrObject& rNewObj)
} }
else else
{ {
pUndoGeo=pObj->GetGeoData(); pUndoGeo.reset(pObj->GetGeoData());
} }
} }
SdrUndoGeoObj::~SdrUndoGeoObj() SdrUndoGeoObj::~SdrUndoGeoObj()
{ {
delete pUndoGeo; pUndoGeo.reset();
delete pRedoGeo; pRedoGeo.reset();
delete pUndoGroup; pUndoGroup.reset();
} }
void SdrUndoGeoObj::Undo() void SdrUndoGeoObj::Undo()
...@@ -625,8 +622,7 @@ void SdrUndoGeoObj::Undo() ...@@ -625,8 +622,7 @@ void SdrUndoGeoObj::Undo()
} }
else else
{ {
delete pRedoGeo; pRedoGeo.reset(pObj->GetGeoData());
pRedoGeo=pObj->GetGeoData();
auto pTableObj = dynamic_cast<sdr::table::SdrTableObj*>(pObj); auto pTableObj = dynamic_cast<sdr::table::SdrTableObj*>(pObj);
if (pTableObj && mbSkipChangeLayout) if (pTableObj && mbSkipChangeLayout)
...@@ -648,8 +644,7 @@ void SdrUndoGeoObj::Redo() ...@@ -648,8 +644,7 @@ void SdrUndoGeoObj::Redo()
} }
else else
{ {
delete pUndoGeo; pUndoGeo.reset(pObj->GetGeoData());
pUndoGeo=pObj->GetGeoData();
pObj->SetGeoData(*pRedoGeo); pObj->SetGeoData(*pRedoGeo);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment