mirror of
https://github.com/tuxbox-fork-migrations/recycled-ni-neutrino.git
synced 2025-08-28 16:01:10 +02:00
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:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
@@ -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);
|
||||
|
Reference in New Issue
Block a user