gui/widget/menue.cpp: add param delete_items to CMenuWidget::resetWidget, use resetWidget in destructor

git-svn-id: file:///home/bas/coolstream_public_svn/THIRDPARTY/applications/neutrino-beta@2161 e54a6e83-5905-42d5-8d5c-058d10e6a962


Origin commit data
------------------
Branch: ni/coolstream
Commit: 384ec65631
Author: [CST] Focus <focus.cst@gmail.com>
Date: 2012-03-26 (Mon, 26 Mar 2012)



------------------
This commit was generated by Migit
This commit is contained in:
[CST] Focus
2012-03-26 14:46:42 +00:00
parent d883c7bba7
commit fd78d9fab7
2 changed files with 7 additions and 3 deletions

View File

@@ -380,6 +380,7 @@ void CMenuWidget::move(int xoff, int yoff)
CMenuWidget::~CMenuWidget()
{
#if 0
for(unsigned int count=0;count<items.size();count++) {
CMenuItem * item = items[count];
if ((item != GenericMenuSeparator) &&
@@ -392,6 +393,8 @@ CMenuWidget::~CMenuWidget()
items.clear();
page_start.clear();
#endif
resetWidget(true);
}
void CMenuWidget::addItem(CMenuItem* menuItem, const bool defaultselected)
@@ -411,7 +414,7 @@ void CMenuWidget::addItem(CMenuItem* menuItem, const bool defaultselected)
items.push_back(menuItem);
}
void CMenuWidget::resetWidget()
void CMenuWidget::resetWidget(bool delete_items)
{
for(unsigned int count=0;count<items.size();count++) {
CMenuItem * item = items[count];
@@ -419,7 +422,8 @@ void CMenuWidget::resetWidget()
(item != GenericMenuSeparatorLine) &&
(item != GenericMenuBack) &&
(item != GenericMenuCancel)){
//delete item;//FIXME: possible crash here
if(delete_items)
delete item;
item = NULL;
}
}

View File

@@ -446,7 +446,7 @@ class CMenuWidget : public CMenuTarget
};
virtual void addIntroItems(neutrino_locale_t subhead_text = NONEXISTANT_LOCALE, neutrino_locale_t section_text = NONEXISTANT_LOCALE, int buttontype = BTN_TYPE_BACK );
bool hasItem();
void resetWidget();
void resetWidget(bool delete_items = false);
void insertItem(const uint& item_id, CMenuItem* menuItem);
void removeItem(const uint& item_id);
int getItemId(CMenuItem* menuItem);