diff options
author | svntobi <svntobi@cd0d6b48-d4f9-0310-940f-ab8c4eb44d3f> | 2008-03-24 22:32:17 +0000 |
---|---|---|
committer | svntobi <svntobi@cd0d6b48-d4f9-0310-940f-ab8c4eb44d3f> | 2008-03-24 22:32:17 +0000 |
commit | 5bb5cd34521baeff7a467c206f6ef917157a9d73 (patch) | |
tree | 8f58c6bc0b32a34b2dbe9b5fd71f473c1d58bab1 /src/MainMenuItemsProvider.cpp | |
parent | 86250d36deb6ffde462617f8c47daf5e46b32443 (diff) | |
download | vdr-plugin-menuorg-5bb5cd34521baeff7a467c206f6ef917157a9d73.tar.gz vdr-plugin-menuorg-5bb5cd34521baeff7a467c206f6ef917157a9d73.tar.bz2 |
Fixed small bug caused by hidden menu entries
git-svn-id: file:///home/tobias/sandbox/vdr/--/vdr-pkg/vdr-pkg/menuorg/trunk@7083 cd0d6b48-d4f9-0310-940f-ab8c4eb44d3f
Diffstat (limited to 'src/MainMenuItemsProvider.cpp')
-rw-r--r-- | src/MainMenuItemsProvider.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/MainMenuItemsProvider.cpp b/src/MainMenuItemsProvider.cpp index abe922d..28e07cb 100644 --- a/src/MainMenuItemsProvider.cpp +++ b/src/MainMenuItemsProvider.cpp @@ -26,6 +26,7 @@ #include "MenuConfigurationRepository.h" #include "MenuItemDefinitionFactory.h" #include "PluginConfiguration.h" +#include "MenuItemDefinition.h" MainMenuItemsProvider::MainMenuItemsProvider(MenuConfigurationRepository& menuConfigurationRepository, PluginConfiguration& pluginConfiguration) :_menuConfigurationRepository(menuConfigurationRepository), _pluginConfiguration(pluginConfiguration) @@ -54,7 +55,9 @@ MenuItemDefinitions* MainMenuItemsProvider::MainMenuItems() if (!(*i)->IsHidden()) { bool isSelected = ((*i) == _previousMenu); - _currentMainMenuItems.push_back(MenuItemDefinitionFactory::CreateFromMenuNode(*i, isSelected)); + MenuItemDefinition* menuItemDefinition = MenuItemDefinitionFactory::CreateFromMenuNode(*i, isSelected); + _currentMainMenuItems.push_back(menuItemDefinition); + _currentMenuItemDefinitions.push_back(menuItemDefinition); } } @@ -69,6 +72,7 @@ void MainMenuItemsProvider::ResetMainMenuItemsList() delete *i; } _currentMainMenuItems.clear(); + _currentMenuItemDefinitions.clear(); } void MainMenuItemsProvider::EnterRootMenu() @@ -110,12 +114,12 @@ cOsdMenu* MainMenuItemsProvider::Execute(cOsdItem* item) MenuNode* MainMenuItemsProvider::MenuNodeMatchingOsdItem(cOsdItem* item) { - for(unsigned int itemIndex=0; itemIndex < _currentMainMenuItems.size(); itemIndex++) + for(unsigned int itemIndex=0; itemIndex < _currentMenuItemDefinitions.size(); itemIndex++) { - IMenuItemDefinition* menuItem = _currentMainMenuItems.at(itemIndex); + MenuItemDefinition* menuItem = _currentMenuItemDefinitions.at(itemIndex); if (menuItem->IsCustomOsdItem() && (menuItem->CustomOsdItem() == item)) { - return _currentMenu->Childs()->at(itemIndex); + return menuItem->AssignedMenuNode(); } } return NULL; |