From 570786e75add710df9bf77fa53b75e22dc29de89 Mon Sep 17 00:00:00 2001 From: Noel Grandin Date: Wed, 17 Jan 2018 13:14:38 +0200 Subject: loplugin:useuniqueptr in LayoutManager Change-Id: I93383fcb5f0093416914722e25cd0faf70c040eb Reviewed-on: https://gerrit.libreoffice.org/48422 Tested-by: Jenkins Reviewed-by: Noel Grandin --- framework/source/layoutmanager/layoutmanager.cxx | 11 +++++------ framework/source/layoutmanager/toolbarlayoutmanager.cxx | 7 +++---- framework/source/layoutmanager/toolbarlayoutmanager.hxx | 4 ++-- 3 files changed, 10 insertions(+), 12 deletions(-) (limited to 'framework/source') diff --git a/framework/source/layoutmanager/layoutmanager.cxx b/framework/source/layoutmanager/layoutmanager.cxx index 3b3aa1173eba..894f1eafbad0 100644 --- a/framework/source/layoutmanager/layoutmanager.cxx +++ b/framework/source/layoutmanager/layoutmanager.cxx @@ -152,7 +152,7 @@ LayoutManager::~LayoutManager() { m_aAsyncLayoutTimer.Stop(); setDockingAreaAcceptor(nullptr); - delete m_pGlobalSettings; + m_pGlobalSettings.reset(); } // Internal helper function @@ -472,7 +472,7 @@ bool LayoutManager::implts_readWindowStateData( const OUString& aName, UIElement bool LayoutManager::readWindowStateData( const OUString& aName, UIElement& rElementData, const Reference< XNameAccess > &rPersistentWindowState, - GlobalSettings* &rGlobalSettings, bool &bInGlobalSettings, + std::unique_ptr &rGlobalSettings, bool &bInGlobalSettings, const Reference< XComponentContext > &rComponentContext ) { if ( rPersistentWindowState.is() ) @@ -484,10 +484,10 @@ bool LayoutManager::readWindowStateData( const OUString& aName, UIElement& rElem GlobalSettings* pGlobalSettings( nullptr ); if ( rGlobalSettings == nullptr ) { - rGlobalSettings = new GlobalSettings( rComponentContext ); + rGlobalSettings.reset( new GlobalSettings( rComponentContext ) ); bGetSettingsState = true; } - pGlobalSettings = rGlobalSettings; + pGlobalSettings = rGlobalSettings.get(); aWriteLock.clear(); try @@ -2776,8 +2776,7 @@ void SAL_CALL LayoutManager::disposing( const lang::EventObject& rEvent ) m_xDocCfgMgr.clear(); m_xModuleCfgMgr.clear(); m_xFrame.clear(); - delete m_pGlobalSettings; - m_pGlobalSettings = nullptr; + m_pGlobalSettings.reset(); bDisposeAndClear = true; } diff --git a/framework/source/layoutmanager/toolbarlayoutmanager.cxx b/framework/source/layoutmanager/toolbarlayoutmanager.cxx index 7e647307d138..09d16a7ae731 100644 --- a/framework/source/layoutmanager/toolbarlayoutmanager.cxx +++ b/framework/source/layoutmanager/toolbarlayoutmanager.cxx @@ -60,7 +60,6 @@ ToolbarLayoutManager::ToolbarLayoutManager( m_eDockOperation( DOCKOP_ON_COLROW ), m_ePreviewDetection( PREVIEWFRAME_UNKNOWN ), m_pAddonOptions( nullptr ), - m_pGlobalSettings( nullptr ), m_bComponentAttached( false ), m_bLayoutDirty( false ), m_bGlobalSettings( false ), @@ -75,8 +74,8 @@ ToolbarLayoutManager::ToolbarLayoutManager( ToolbarLayoutManager::~ToolbarLayoutManager() { - delete m_pGlobalSettings; - delete m_pAddonOptions; + m_pGlobalSettings.reset(); + m_pAddonOptions.reset(); } // XInterface @@ -1079,7 +1078,7 @@ void ToolbarLayoutManager::implts_createAddonsToolBars() { SolarMutexClearableGuard aWriteLock; if ( !m_pAddonOptions ) - m_pAddonOptions = new AddonsOptions; + m_pAddonOptions.reset( new AddonsOptions ); uno::Reference< ui::XUIElementFactory > xUIElementFactory( m_xUIElementFactoryManager ); uno::Reference< frame::XFrame > xFrame( m_xFrame ); diff --git a/framework/source/layoutmanager/toolbarlayoutmanager.hxx b/framework/source/layoutmanager/toolbarlayoutmanager.hxx index 263835428eae..def4ea56fedd 100644 --- a/framework/source/layoutmanager/toolbarlayoutmanager.hxx +++ b/framework/source/layoutmanager/toolbarlayoutmanager.hxx @@ -277,8 +277,8 @@ class ToolbarLayoutManager : public ::cppu::WeakImplHelper< css::awt::XDockableW DockingOperation m_eDockOperation; PreviewFrameDetection m_ePreviewDetection; - AddonsOptions* m_pAddonOptions; - GlobalSettings* m_pGlobalSettings; + std::unique_ptr m_pAddonOptions; + std::unique_ptr m_pGlobalSettings; bool m_bComponentAttached; bool m_bLayoutDirty; -- cgit v1.2.3