summaryrefslogtreecommitdiff
path: root/tvguideosd.c
diff options
context:
space:
mode:
Diffstat (limited to 'tvguideosd.c')
-rw-r--r--tvguideosd.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/tvguideosd.c b/tvguideosd.c
index a0ac921..b6b3c2b 100644
--- a/tvguideosd.c
+++ b/tvguideosd.c
@@ -653,13 +653,20 @@ eOSState cTvGuideOsd::ProcessKey(eKeys Key) {
}
state = osContinue;
} else if (detailViewActive) {
- state = detailView->ProcessKey(Key);
- if (state == osEnd) {
+ if ((Key & ~k_Repeat) == kRed) {
delete detailView;
detailView = NULL;
detailViewActive = false;
- osdManager.flush();
- state = osContinue;
+ processKeyRed();
+ } else {
+ state = detailView->ProcessKey(Key);
+ if (state == osEnd) {
+ delete detailView;
+ detailView = NULL;
+ detailViewActive = false;
+ osdManager.flush();
+ state = osContinue;
+ }
}
} else {
switch (Key & ~k_Repeat) {