diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2018-02-06 13:27:25 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2018-02-19 07:11:46 +0100 |
commit | d3c7a7807695deee35e40ef6d77a7428682525d3 (patch) | |
tree | 7266b82cc08608a783066921a02570a60fe6236a | |
parent | cc0be9f9616b732955ff21850fb69142ee46507e (diff) |
loplugin:useuniqueptr in AccessibleShape
Change-Id: I4c91ce6eb47f2802313fed22357e5c960cea50b2
Reviewed-on: https://gerrit.libreoffice.org/49931
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
-rw-r--r-- | include/svx/AccessibleShape.hxx | 5 | ||||
-rw-r--r-- | svx/source/accessibility/AccessibleShape.cxx | 18 |
2 files changed, 11 insertions, 12 deletions
diff --git a/include/svx/AccessibleShape.hxx b/include/svx/AccessibleShape.hxx index 592a7ead9b32..71842073ffdf 100644 --- a/include/svx/AccessibleShape.hxx +++ b/include/svx/AccessibleShape.hxx @@ -48,6 +48,7 @@ #include <svx/AccessibleShapeTreeInfo.hxx> #include <svx/IAccessibleViewForwarderListener.hxx> #include <svx/svxdllapi.h> +#include <memory> namespace com { namespace sun { namespace star { namespace accessibility { class XAccessible; } @@ -373,7 +374,7 @@ public: protected: /// Children manager. May be empty if there are no children. - ChildrenManager* mpChildrenManager; + std::unique_ptr<ChildrenManager> mpChildrenManager; /// Reference to the actual shape. css::uno::Reference< @@ -389,7 +390,7 @@ protected: /** The accessible text engine. May be NULL if it can not be created. */ - AccessibleTextHelper* mpText; + std::unique_ptr<AccessibleTextHelper> mpText; /** This object can be used to modify the child list of our parent. */ diff --git a/svx/source/accessibility/AccessibleShape.cxx b/svx/source/accessibility/AccessibleShape.cxx index 810fa68dbc3d..cd3a84889f86 100644 --- a/svx/source/accessibility/AccessibleShape.cxx +++ b/svx/source/accessibility/AccessibleShape.cxx @@ -118,8 +118,8 @@ AccessibleShape::AccessibleShape ( AccessibleShape::~AccessibleShape() { - delete mpChildrenManager; - delete mpText; + mpChildrenManager.reset(); + mpText.reset(); SAL_INFO("svx", "~AccessibleShape"); // Unregistering from the various broadcasters should be unnecessary @@ -135,8 +135,8 @@ void AccessibleShape::Init() // Create a children manager when this shape has children of its own. Reference<drawing::XShapes> xShapes (mxShape, uno::UNO_QUERY); if (xShapes.is() && xShapes->getCount() > 0) - mpChildrenManager = new ChildrenManager ( - this, xShapes, maShapeTreeInfo, *this); + mpChildrenManager.reset( new ChildrenManager ( + this, xShapes, maShapeTreeInfo, *this) ); if (mpChildrenManager != nullptr) mpChildrenManager->Update(); @@ -174,12 +174,12 @@ void AccessibleShape::Init() if( !pOutlinerParaObject ) { // empty text -> use proxy edit source to delay creation of EditEngine - mpText = new AccessibleTextHelper( o3tl::make_unique<AccessibleEmptyEditSource >(*pSdrObject, *pView, *pWindow) ); + mpText.reset( new AccessibleTextHelper( o3tl::make_unique<AccessibleEmptyEditSource >(*pSdrObject, *pView, *pWindow) ) ); } else { // non-empty text -> use full-fledged edit source right away - mpText = new AccessibleTextHelper( o3tl::make_unique<SvxTextEditSource >(*pSdrObject, nullptr, *pView, *pWindow) ); + mpText.reset( new AccessibleTextHelper( o3tl::make_unique<SvxTextEditSource >(*pSdrObject, nullptr, *pView, *pWindow) ) ); } if( pWindow->HasFocus() ) mpText->SetFocus(); @@ -1195,14 +1195,12 @@ void AccessibleShape::disposing() // Release the child containers. if (mpChildrenManager != nullptr) { - delete mpChildrenManager; - mpChildrenManager = nullptr; + mpChildrenManager.reset(); } if (mpText != nullptr) { mpText->Dispose(); - delete mpText; - mpText = nullptr; + mpText.reset(); } // Cleanup. Remove references to objects to allow them to be |