summaryrefslogtreecommitdiff
path: root/vcl/source/window/menuitemlist.cxx
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2017-10-17 14:00:15 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2017-10-17 15:28:13 +0200
commit2b19544e6f28c85128dc38c026636c0b62cbc35a (patch)
tree6921be88172e7d7b1b05e750aa56c93d60b49646 /vcl/source/window/menuitemlist.cxx
parent4e9ebc6de44b22418f26fb6d931bedcc5d936906 (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.cxx25
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('~');