added virtual destuctor for menu things
This commit is contained in:
@@ -14,6 +14,11 @@ Menu::Menu() {
|
||||
this->selectedEntry = this->entrys.begin();
|
||||
}
|
||||
|
||||
Menu::~Menu() {
|
||||
for (std::list<MenuAction*>::iterator iter = this->entrys.begin(); iter != this->entrys.end(); iter++)
|
||||
delete *iter;
|
||||
}
|
||||
|
||||
void Menu::addEntry(MenuAction* entry) {
|
||||
this->entrys.push_back(entry);
|
||||
|
||||
|
||||
@@ -24,6 +24,7 @@ class MenuAction;
|
||||
class Menu : public MenuControl {
|
||||
public:
|
||||
Menu();
|
||||
~Menu() override;
|
||||
|
||||
/**
|
||||
* @brief Add a menu action to the menu
|
||||
|
||||
@@ -23,6 +23,11 @@ MenuAction::MenuAction(const char* name, MenuControl* menu) {
|
||||
this->callback = nullptr;
|
||||
}
|
||||
|
||||
MenuAction::~MenuAction() {
|
||||
if (this->menu)
|
||||
delete this->menu;
|
||||
}
|
||||
|
||||
void MenuAction::runAction() {
|
||||
if (isMenu)
|
||||
this->menu->printMenu();
|
||||
|
||||
@@ -43,6 +43,8 @@ class MenuAction {
|
||||
*/
|
||||
MenuAction(const char* name, MenuControl* menu);
|
||||
|
||||
~MenuAction();
|
||||
|
||||
/**
|
||||
* @brief activates the entry
|
||||
*/
|
||||
@@ -80,7 +82,7 @@ class MenuAction {
|
||||
void (*callback) () = nullptr;
|
||||
|
||||
bool isMenu = false;
|
||||
MenuControl* menu;
|
||||
MenuControl* menu = nullptr;
|
||||
};
|
||||
|
||||
#endif // MENU_ENTRY_H
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
*/
|
||||
class MenuControl {
|
||||
public:
|
||||
virtual ~MenuControl() {};
|
||||
|
||||
/** @name UserInputs
|
||||
* @brief This functions should be called be user actions.
|
||||
|
||||
Reference in New Issue
Block a user