diff options
author | Takeshi Abe <tabe@fixedpoint.jp> | 2017-07-11 23:00:06 +0900 |
---|---|---|
committer | Takeshi Abe <tabe@fixedpoint.jp> | 2017-07-13 07:04:41 +0200 |
commit | d9e8fdbcd2f834a483890b409ede1b44c2da5da3 (patch) | |
tree | f122a87c9910f182527e9170344cb7d1a487abea | |
parent | e333183d4390da0b17a55f214e2b953dbb0a8883 (diff) |
sd: Use std::unique_ptr<> as SdUndoGroup owns SdUndoActions
Change-Id: Iaba3f3cf91e30b549e1b8ce3e54c0ef50df9f1d4
Reviewed-on: https://gerrit.libreoffice.org/39823
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Takeshi Abe <tabe@fixedpoint.jp>
-rw-r--r-- | sd/source/ui/func/sdundogr.cxx | 12 | ||||
-rw-r--r-- | sd/source/ui/inc/sdundogr.hxx | 7 |
2 files changed, 6 insertions, 13 deletions
diff --git a/sd/source/ui/func/sdundogr.cxx b/sd/source/ui/func/sdundogr.cxx index 963e7ddc1150..feb9c7b19d3a 100644 --- a/sd/source/ui/func/sdundogr.cxx +++ b/sd/source/ui/func/sdundogr.cxx @@ -20,15 +20,7 @@ #include "sdundogr.hxx" -SdUndoGroup::~SdUndoGroup() -{ - size_t nLast = aCtn.size(); - for (size_t nAction = 0; nAction < nLast; nAction++) - { - delete aCtn[nAction]; - } - aCtn.clear(); -} +SdUndoGroup::~SdUndoGroup() = default; bool SdUndoGroup::Merge( SfxUndoAction* pNextAction ) { @@ -73,7 +65,7 @@ void SdUndoGroup::Redo() void SdUndoGroup::AddAction(SdUndoAction* pAction) { - aCtn.push_back(pAction); + aCtn.emplace_back(pAction); } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sd/source/ui/inc/sdundogr.hxx b/sd/source/ui/inc/sdundogr.hxx index c629edf699b8..160b947526cf 100644 --- a/sd/source/ui/inc/sdundogr.hxx +++ b/sd/source/ui/inc/sdundogr.hxx @@ -24,15 +24,16 @@ #include "sdundo.hxx" #include "sddllapi.h" +#include <memory> #include <vector> class SD_DLLPUBLIC SdUndoGroup : public SdUndoAction { - std::vector<SdUndoAction*> aCtn; + std::vector<std::unique_ptr<SdUndoAction>> aCtn; public: SdUndoGroup(SdDrawDocument* pSdDrawDocument) - : SdUndoAction(pSdDrawDocument), - aCtn() {} + : SdUndoAction(pSdDrawDocument) + {} virtual ~SdUndoGroup() override; virtual bool Merge( SfxUndoAction* pNextAction ) override; |