diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2017-10-17 14:00:15 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2017-10-17 15:28:13 +0200 |
commit | 2b19544e6f28c85128dc38c026636c0b62cbc35a (patch) | |
tree | 6921be88172e7d7b1b05e750aa56c93d60b49646 /vcl/source/window/menuitemlist.cxx | |
parent | 4e9ebc6de44b22418f26fb6d931bedcc5d936906 (diff) |
use std::unique_ptr in vcl::Animation and vcl::MenuItemList
Change-Id: I0d682bcf3bd9d5f4852675fd0d6b61f10ea4f7de
Reviewed-on: https://gerrit.libreoffice.org/43455
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'vcl/source/window/menuitemlist.cxx')
-rw-r--r-- | vcl/source/window/menuitemlist.cxx | 25 |
1 files changed, 10 insertions, 15 deletions
diff --git a/vcl/source/window/menuitemlist.cxx b/vcl/source/window/menuitemlist.cxx index 95cf7a07875f..0aeb0cb9def7 100644 --- a/vcl/source/window/menuitemlist.cxx +++ b/vcl/source/window/menuitemlist.cxx @@ -41,8 +41,6 @@ MenuItemData::~MenuItemData() MenuItemList::~MenuItemList() { - for(MenuItemData* i : maItemList) - delete i; } MenuItemData* MenuItemList::Insert( @@ -78,9 +76,9 @@ MenuItemData* MenuItemList::Insert( pData->pSalMenuItem = ImplGetSVData()->mpDefInst->CreateMenuItem( &aSalMIData ); if( nPos < maItemList.size() ) { - maItemList.insert( maItemList.begin() + nPos, pData ); + maItemList.insert( maItemList.begin() + nPos, std::unique_ptr<MenuItemData>(pData) ); } else { - maItemList.push_back( pData ); + maItemList.emplace_back( pData ); } return pData; } @@ -111,9 +109,9 @@ void MenuItemList::InsertSeparator(const OString &rIdent, size_t nPos) pData->pSalMenuItem = ImplGetSVData()->mpDefInst->CreateMenuItem( &aSalMIData ); if( nPos < maItemList.size() ) { - maItemList.insert( maItemList.begin() + nPos, pData ); + maItemList.insert( maItemList.begin() + nPos, std::unique_ptr<MenuItemData>(pData) ); } else { - maItemList.push_back( pData ); + maItemList.emplace_back( pData ); } } @@ -121,16 +119,13 @@ void MenuItemList::Remove( size_t nPos ) { if( nPos < maItemList.size() ) { - delete maItemList[ nPos ]; maItemList.erase( maItemList.begin() + nPos ); } } void MenuItemList::Clear() { - for (MenuItemData* i : maItemList) - delete i; - maItemList.resize(0); + maItemList.clear(); } MenuItemData* MenuItemList::GetData( sal_uInt16 nSVId, size_t& rPos ) const @@ -140,7 +135,7 @@ MenuItemData* MenuItemList::GetData( sal_uInt16 nSVId, size_t& rPos ) const if ( maItemList[ i ]->nId == nSVId ) { rPos = i; - return maItemList[ i ]; + return maItemList[ i ].get(); } } return nullptr; @@ -164,7 +159,7 @@ MenuItemData* MenuItemList::SearchItem( { for ( rPos = 0; rPos < nListCount; rPos++) { - MenuItemData* pData = maItemList[ rPos ]; + MenuItemData* pData = maItemList[ rPos ].get(); if ( pData->bEnabled && rI18nHelper.MatchMnemonic( pData->aText, cSelectChar ) ) { if( nDuplicates > 1 && rPos == nCurrentPos ) @@ -186,7 +181,7 @@ MenuItemData* MenuItemList::SearchItem( for ( rPos = 0; rPos < nListCount; rPos++) { - MenuItemData* pData = maItemList[ rPos ]; + MenuItemData* pData = maItemList[ rPos ].get(); if ( pData->bEnabled ) { sal_Int32 n = pData->aText.indexOf('~'); @@ -226,7 +221,7 @@ size_t MenuItemList::GetItemCount( sal_Unicode cSelectChar ) const size_t nItems = 0; for ( size_t nPos = maItemList.size(); nPos; ) { - MenuItemData* pData = maItemList[ --nPos ]; + MenuItemData* pData = maItemList[ --nPos ].get(); if ( pData->bEnabled && rI18nHelper.MatchMnemonic( pData->aText, cSelectChar ) ) nItems++; } @@ -246,7 +241,7 @@ size_t MenuItemList::GetItemCount( KeyCode aKeyCode ) const size_t nItems = 0; for ( size_t nPos = maItemList.size(); nPos; ) { - MenuItemData* pData = maItemList[ --nPos ]; + MenuItemData* pData = maItemList[ --nPos ].get(); if ( pData->bEnabled ) { sal_Int32 n = pData->aText.indexOf('~'); |