summaryrefslogtreecommitdiff
path: root/osd.c
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2002-11-10 15:50:21 +0100
committerKlaus Schmidinger <vdr@tvdr.de>2002-11-10 15:50:21 +0100
commit9fee2b67abb2594c5db2ca9f66525cb09e7b5cc7 (patch)
tree9d9326af17fcee00a08e55f52d268fd4e5943129 /osd.c
parentc67fe26e66a93b450ed46ca83b5502c47fe28eb3 (diff)
downloadvdr-9fee2b67abb2594c5db2ca9f66525cb09e7b5cc7.tar.gz
vdr-9fee2b67abb2594c5db2ca9f66525cb09e7b5cc7.tar.bz2
First step towards a 'unique channel ID'
Diffstat (limited to 'osd.c')
-rw-r--r--osd.c22
1 files changed, 13 insertions, 9 deletions
diff --git a/osd.c b/osd.c
index acd9aec4..8324874c 100644
--- a/osd.c
+++ b/osd.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: osd.c 1.36 2002/10/13 10:31:28 kls Exp $
+ * $Id: osd.c 1.37 2002/11/10 12:30:09 kls Exp $
*/
#include "osd.h"
@@ -599,20 +599,24 @@ eOSState cOsdMenu::AddSubMenu(cOsdMenu *SubMenu)
delete subMenu;
subMenu = SubMenu;
subMenu->Display();
- return osContinue; // convenience return value (see cMenuMain)
+ return osContinue; // convenience return value
+}
+
+eOSState cOsdMenu::CloseSubMenu()
+{
+ delete subMenu;
+ subMenu = NULL;
+ RefreshCurrent();
+ Display();
+ return osContinue; // convenience return value
}
eOSState cOsdMenu::ProcessKey(eKeys Key)
{
if (subMenu) {
eOSState state = subMenu->ProcessKey(Key);
- if (state == osBack) {
- delete subMenu;
- subMenu = NULL;
- RefreshCurrent();
- Display();
- state = osContinue;
- }
+ if (state == osBack)
+ return CloseSubMenu();
return state;
}