diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2015-12-11 16:15:53 +0100 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2015-12-11 16:15:53 +0100 |
commit | 576c7562ecf3d6d707c78d80852907c4a014178f (patch) | |
tree | a417d5d4b541b77833083472bc492ae94f12c99b | |
parent | 1e0e115d47e5874414ab511de8671d5bc466812c (diff) |
Return std::unique_ptr from svt::AcceleratorExecute::createAcceleratorHelper
...to prevent errors like 5ac6e00274e732435b55c2908db9cea658fe549b "Memory leak"
Change-Id: I3e20393af628849d8a387b491b75e1aacdea982a
-rw-r--r-- | chart2/source/controller/main/ChartController_Window.cxx | 2 | ||||
-rw-r--r-- | dbaccess/source/ui/browser/dataview.cxx | 2 | ||||
-rw-r--r-- | include/svtools/acceleratorexecute.hxx | 3 | ||||
-rw-r--r-- | sfx2/source/dialog/backingwindow.cxx | 2 | ||||
-rw-r--r-- | sfx2/source/view/viewsh.cxx | 3 | ||||
-rw-r--r-- | svtools/source/misc/acceleratorexecute.cxx | 5 |
6 files changed, 8 insertions, 9 deletions
diff --git a/chart2/source/controller/main/ChartController_Window.cxx b/chart2/source/controller/main/ChartController_Window.cxx index 1b4dd62efc09..eb438f85a585 100644 --- a/chart2/source/controller/main/ChartController_Window.cxx +++ b/chart2/source/controller/main/ChartController_Window.cxx @@ -1252,7 +1252,7 @@ bool ChartController::execute_KeyInput( const KeyEvent& rKEvt ) // handle accelerators if( ! m_apAccelExecute.get() && m_xFrame.is() && m_xCC.is() ) { - m_apAccelExecute.reset( ::svt::AcceleratorExecute::createAcceleratorHelper()); + m_apAccelExecute = ::svt::AcceleratorExecute::createAcceleratorHelper(); OSL_ASSERT( m_apAccelExecute.get()); if( m_apAccelExecute.get() ) m_apAccelExecute->init( m_xCC, m_xFrame ); diff --git a/dbaccess/source/ui/browser/dataview.cxx b/dbaccess/source/ui/browser/dataview.cxx index a722433db8d8..75246659c940 100644 --- a/dbaccess/source/ui/browser/dataview.cxx +++ b/dbaccess/source/ui/browser/dataview.cxx @@ -47,7 +47,7 @@ namespace dbaui ,m_xController( &_rController ) ,m_aSeparator( VclPtr<FixedLine>::Create(this) ) { - m_pAccel.reset(::svt::AcceleratorExecute::createAcceleratorHelper()); + m_pAccel = ::svt::AcceleratorExecute::createAcceleratorHelper(); m_aSeparator->Show(); } diff --git a/include/svtools/acceleratorexecute.hxx b/include/svtools/acceleratorexecute.hxx index 8736506eaaf4..b2ec4a04edeb 100644 --- a/include/svtools/acceleratorexecute.hxx +++ b/include/svtools/acceleratorexecute.hxx @@ -22,6 +22,7 @@ #include <svtools/svtdllapi.h> +#include <memory> #include <vector> #include <com/sun/star/uno/XComponentContext.hpp> @@ -114,7 +115,7 @@ class SVT_DLLPUBLIC AcceleratorExecute : private TMutexInit environment will be recognized ... The helper stop its work immediately then! */ - static AcceleratorExecute* createAcceleratorHelper(); + static std::unique_ptr<AcceleratorExecute> createAcceleratorHelper(); /** @short fight against inlining ... */ diff --git a/sfx2/source/dialog/backingwindow.cxx b/sfx2/source/dialog/backingwindow.cxx index bd36eb322ed8..32e88518035f 100644 --- a/sfx2/source/dialog/backingwindow.cxx +++ b/sfx2/source/dialog/backingwindow.cxx @@ -442,7 +442,7 @@ bool BackingWindow::PreNotify( NotifyEvent& rNEvt ) // try the 'normal' accelerators (so that eg. Ctrl+Q works) if (!mpAccExec) { - mpAccExec.reset(svt::AcceleratorExecute::createAcceleratorHelper()); + mpAccExec = svt::AcceleratorExecute::createAcceleratorHelper(); mpAccExec->init( comphelper::getProcessComponentContext(), mxFrame); } diff --git a/sfx2/source/view/viewsh.cxx b/sfx2/source/view/viewsh.cxx index e9af2f4201a6..e4c14a24e857 100644 --- a/sfx2/source/view/viewsh.cxx +++ b/sfx2/source/view/viewsh.cxx @@ -1619,8 +1619,7 @@ bool SfxViewShell::ExecKey_Impl(const KeyEvent& aKey) { if (!pImp->m_xAccExec.get()) { - pImp->m_xAccExec.reset( - ::svt::AcceleratorExecute::createAcceleratorHelper() ); + pImp->m_xAccExec = ::svt::AcceleratorExecute::createAcceleratorHelper(); pImp->m_xAccExec->init(::comphelper::getProcessComponentContext(), pFrame->GetFrame().GetFrameInterface()); } diff --git a/svtools/source/misc/acceleratorexecute.cxx b/svtools/source/misc/acceleratorexecute.cxx index 83fa88591c8e..a34281b4f150 100644 --- a/svtools/source/misc/acceleratorexecute.cxx +++ b/svtools/source/misc/acceleratorexecute.cxx @@ -93,10 +93,9 @@ AcceleratorExecute::~AcceleratorExecute() } -AcceleratorExecute* AcceleratorExecute::createAcceleratorHelper() +std::unique_ptr<AcceleratorExecute> AcceleratorExecute::createAcceleratorHelper() { - AcceleratorExecute* pNew = new AcceleratorExecute(); - return pNew; + return std::unique_ptr<AcceleratorExecute>(new AcceleratorExecute); } |