extensions/source/scanner/sane.cxx | 11 +++----- extensions/source/scanner/sane.hxx | 2 - include/sfx2/dinfdlg.hxx | 11 ++++---- sfx2/source/dialog/dinfdlg.cxx | 46 +++++++++++++++++-------------------- 4 files changed, 33 insertions(+), 37 deletions(-)
New commits: commit 91af898b2a9193219bd28aa64296eaf0e145beb6 Author: Noel Grandin <[email protected]> Date: Fri May 4 14:02:49 2018 +0200 loplugin:useuniqueptr in Sane Change-Id: I06e9423e667ee87d767bbc17e62798ae0586e975 Reviewed-on: https://gerrit.libreoffice.org/53877 Tested-by: Jenkins <[email protected]> Reviewed-by: Noel Grandin <[email protected]> diff --git a/extensions/source/scanner/sane.cxx b/extensions/source/scanner/sane.cxx index 4bd94f30d83e..90eb652282b2 100644 --- a/extensions/source/scanner/sane.cxx +++ b/extensions/source/scanner/sane.cxx @@ -273,9 +273,7 @@ void Sane::ReloadOptions() mnOptions = pOptions[ 0 ]; if( static_cast<size_t>(pZero->size) > sizeof( SANE_Word ) ) fprintf( stderr, "driver returned numer of options with larger size tha SANE_Word !!!\n" ); - if( mppOptions ) - delete [] mppOptions; - mppOptions = new const SANE_Option_Descriptor*[ mnOptions ]; + mppOptions.reset(new const SANE_Option_Descriptor*[ mnOptions ]); mppOptions[ 0 ] = pZero; for( int i = 1; i < mnOptions; i++ ) mppOptions[ i ] = p_get_option_descriptor( maHandle, i ); @@ -323,8 +321,7 @@ void Sane::Close() if( maHandle ) { p_close( maHandle ); - delete [] mppOptions; - mppOptions = nullptr; + mppOptions.reset(); maHandle = nullptr; mnDevice = -1; } @@ -513,7 +510,7 @@ bool Sane::CheckConsistency( const char* pMes, bool bInit ) if( bInit ) { - pDescArray = mppOptions; + pDescArray = mppOptions.get(); if( mppOptions ) pZero = mppOptions[0]; return true; @@ -521,7 +518,7 @@ bool Sane::CheckConsistency( const char* pMes, bool bInit ) bool bConsistent = true; - if( pDescArray != mppOptions ) + if( pDescArray != mppOptions.get() ) bConsistent = false; if( pZero != mppOptions[0] ) bConsistent = false; diff --git a/extensions/source/scanner/sane.hxx b/extensions/source/scanner/sane.hxx index ae8b6861eff7..7145ab133b27 100644 --- a/extensions/source/scanner/sane.hxx +++ b/extensions/source/scanner/sane.hxx @@ -80,7 +80,7 @@ private: static SANE_Device** ppDevices; static int nDevices; - const SANE_Option_Descriptor** mppOptions; + std::unique_ptr<const SANE_Option_Descriptor*[]> mppOptions; int mnOptions; int mnDevice; SANE_Handle maHandle; commit a36d67240c303101fb6a56e40ff46aa1023089f3 Author: Noel Grandin <[email protected]> Date: Fri May 4 13:37:40 2018 +0200 loplugin:useuniqueptr in SfxDocumentInfoItem and CustomPropertiesWindow Change-Id: I535200a5b26725cdefc3e6e3ce5e1e925e7a7bfd Reviewed-on: https://gerrit.libreoffice.org/53876 Tested-by: Jenkins <[email protected]> Reviewed-by: Noel Grandin <[email protected]> diff --git a/include/sfx2/dinfdlg.hxx b/include/sfx2/dinfdlg.hxx index 9516b74868d8..2e61a28583ee 100644 --- a/include/sfx2/dinfdlg.hxx +++ b/include/sfx2/dinfdlg.hxx @@ -46,6 +46,7 @@ #include <sfx2/tabdlg.hxx> #include <boost/optional/optional.hpp> +#include <memory> namespace com { namespace sun { namespace star { namespace document { @@ -81,7 +82,7 @@ private: bool m_bDeleteUserData; bool m_bUseUserData; bool m_bUseThumbnailSave; - std::vector< CustomProperty* > m_aCustomProperties; + std::vector< std::unique_ptr<CustomProperty> > m_aCustomProperties; css::uno::Sequence< css::document::CmisProperty > m_aCmisProperties; public: @@ -150,7 +151,7 @@ public: bool IsUseThumbnailSave() const { return m_bUseThumbnailSave;} - std::vector< CustomProperty* > GetCustomProperties() const; + std::vector< std::unique_ptr<CustomProperty> > GetCustomProperties() const; void ClearCustomProperties(); void AddCustomProperty( const OUString& sName, const css::uno::Any& rValue ); @@ -402,7 +403,7 @@ private: sal_Int32 m_nTypeBoxWidth; sal_Int32 m_nLineHeight; sal_Int32 m_nScrollPos; - std::vector<CustomProperty*> m_aCustomProperties; + std::vector<std::unique_ptr<CustomProperty>> m_aCustomProperties; std::vector<CustomPropertyLine*> m_aCustomPropertiesLines; CustomPropertyLine* m_pCurrentLine; SvNumberFormatter m_aNumberFormatter; @@ -455,7 +456,7 @@ public: css::uno::Sequence< css::beans::PropertyValue > GetCustomProperties(); - void SetCustomProperties(const std::vector<CustomProperty*>& rProperties); + void SetCustomProperties(std::vector< std::unique_ptr<CustomProperty> >&& rProperties); void SetRemovedHdl( const Link<void*,void>& rLink ) { m_aRemovedHdl = rLink; } }; @@ -488,7 +489,7 @@ public: css::uno::Sequence<css::beans::PropertyValue> GetCustomProperties() const { return m_pPropertiesWin->GetCustomProperties(); } - void SetCustomProperties(const std::vector<CustomProperty*>& rProperties); + void SetCustomProperties(std::vector< std::unique_ptr<CustomProperty> >&& rProperties); void Init(VclBuilderContainer& rParent); virtual void Resize() override; diff --git a/sfx2/source/dialog/dinfdlg.cxx b/sfx2/source/dialog/dinfdlg.cxx index f5d2ce07a86e..84ebee9d8c62 100644 --- a/sfx2/source/dialog/dinfdlg.cxx +++ b/sfx2/source/dialog/dinfdlg.cxx @@ -248,8 +248,8 @@ SfxDocumentInfoItem::SfxDocumentInfoItem( const OUString& rFile, } uno::Any aValue = xSet->getPropertyValue(pProps[i].Name); - CustomProperty* pProp = new CustomProperty( pProps[i].Name, aValue ); - m_aCustomProperties.push_back( pProp ); + std::unique_ptr<CustomProperty> pProp(new CustomProperty( pProps[i].Name, aValue )); + m_aCustomProperties.push_back( std::move(pProp) ); } } @@ -284,11 +284,11 @@ SfxDocumentInfoItem::SfxDocumentInfoItem( const SfxDocumentInfoItem& rItem ) , m_bUseUserData( rItem.m_bUseUserData ) , m_bUseThumbnailSave( rItem.m_bUseThumbnailSave ) { - for (const CustomProperty* pOtherProp : rItem.m_aCustomProperties) + for (auto const & pOtherProp : rItem.m_aCustomProperties) { - CustomProperty* pProp = new CustomProperty( pOtherProp->m_sName, - pOtherProp->m_aValue ); - m_aCustomProperties.push_back( pProp ); + std::unique_ptr<CustomProperty> pProp(new CustomProperty( pOtherProp->m_sName, + pOtherProp->m_aValue )); + m_aCustomProperties.push_back( std::move(pProp) ); } m_aCmisProperties = rItem.m_aCmisProperties; @@ -402,7 +402,7 @@ void SfxDocumentInfoItem::UpdateDocumentInfo( } } - for (const CustomProperty* pProp : m_aCustomProperties) + for (auto const & pProp : m_aCustomProperties) { try { @@ -438,14 +438,14 @@ void SfxDocumentInfoItem::SetUseThumbnailSave( bool bSet ) m_bUseThumbnailSave = bSet; } -std::vector< CustomProperty* > SfxDocumentInfoItem::GetCustomProperties() const +std::vector< std::unique_ptr<CustomProperty> > SfxDocumentInfoItem::GetCustomProperties() const { - std::vector< CustomProperty* > aRet; - for (CustomProperty* pOtherProp : m_aCustomProperties) + std::vector< std::unique_ptr<CustomProperty> > aRet; + for (auto const & pOtherProp : m_aCustomProperties) { - CustomProperty* pProp = new CustomProperty( pOtherProp->m_sName, - pOtherProp->m_aValue ); - aRet.push_back( pProp ); + std::unique_ptr<CustomProperty> pProp(new CustomProperty( pOtherProp->m_sName, + pOtherProp->m_aValue )); + aRet.push_back( std::move(pProp) ); } return aRet; @@ -453,15 +453,13 @@ std::vector< CustomProperty* > SfxDocumentInfoItem::GetCustomProperties() const void SfxDocumentInfoItem::ClearCustomProperties() { - for (CustomProperty* pProp : m_aCustomProperties) - delete pProp; m_aCustomProperties.clear(); } void SfxDocumentInfoItem::AddCustomProperty( const OUString& sName, const Any& rValue ) { - CustomProperty* pProp = new CustomProperty( sName, rValue ); - m_aCustomProperties.push_back( pProp ); + std::unique_ptr<CustomProperty> pProp(new CustomProperty( sName, rValue )); + m_aCustomProperties.push_back( std::move(pProp) ); } @@ -1702,7 +1700,7 @@ void CustomPropertiesWindow::SetVisibleLineCount(sal_uInt32 nCount) void CustomPropertiesWindow::AddLine(const OUString& sName, Any const & rAny) { - m_aCustomProperties.push_back(new CustomProperty(sName, rAny)); + m_aCustomProperties.push_back(std::unique_ptr<CustomProperty>(new CustomProperty(sName, rAny))); ReloadLinesContent(); } @@ -1864,9 +1862,9 @@ void CustomPropertiesWindow::StoreCustomProperties() } } -void CustomPropertiesWindow::SetCustomProperties(const std::vector<CustomProperty*>& rProperties) +void CustomPropertiesWindow::SetCustomProperties(std::vector< std::unique_ptr<CustomProperty> >&& rProperties) { - m_aCustomProperties = rProperties; + m_aCustomProperties = std::move(rProperties); ReloadLinesContent(); } @@ -2107,9 +2105,9 @@ void CustomPropertiesControl::AddLine( Any const & rAny ) m_pVertScroll->DoScroll(nLineCount + 1); } -void CustomPropertiesControl::SetCustomProperties(const std::vector<CustomProperty*>& rProperties) +void CustomPropertiesControl::SetCustomProperties(std::vector< std::unique_ptr<CustomProperty> >&& rProperties) { - m_pPropertiesWin->SetCustomProperties(rProperties); + m_pPropertiesWin->SetCustomProperties(std::move(rProperties)); long nLineCount = m_pPropertiesWin->GetTotalLineCount(); m_pVertScroll->SetRangeMax(nLineCount + 1); } @@ -2209,8 +2207,8 @@ void SfxCustomPropertiesPage::Reset( const SfxItemSet* rItemSet ) { m_pPropertiesCtrl->ClearAllLines(); const SfxDocumentInfoItem& rInfoItem = rItemSet->Get(SID_DOCINFO); - std::vector< CustomProperty* > aCustomProps = rInfoItem.GetCustomProperties(); - m_pPropertiesCtrl->SetCustomProperties(aCustomProps); + std::vector< std::unique_ptr<CustomProperty> > aCustomProps = rInfoItem.GetCustomProperties(); + m_pPropertiesCtrl->SetCustomProperties(std::move(aCustomProps)); } DeactivateRC SfxCustomPropertiesPage::DeactivatePage( SfxItemSet* /*pSet*/ ) _______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
