From 159c7e283d8cf14fc676a6278cace9c88212c3e2 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Fri, 4 Nov 2005 13:52:31 +0100 Subject: [PATCH] A menu is no longer automatically closed when a replay ends --- CONTRIBUTORS | 1 + HISTORY | 2 ++ vdr.c | 10 ++++++++-- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 31822b99..14eaa14d 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -1499,6 +1499,7 @@ Harald Milz Marko Mäkelä for making repeat keys be ignored when waiting for a keypress to cancel an operation + for reporting that a menu was automatically closed when a replay ends Patrick Rother for reporting a bug in defining timers that only differ in the day of week diff --git a/HISTORY b/HISTORY index 05eb1e9a..f5431de0 100644 --- a/HISTORY +++ b/HISTORY @@ -3917,3 +3917,5 @@ Video Disk Recorder Revision History - Fixed a NULL pointer access with the cUnbufferedFile when a replay session runs all the way until the end of the recording (thanks to Joachim Wilke). +- A menu is no longer automatically closed when a replay ends (reported by + Marko Mäkelä). diff --git a/vdr.c b/vdr.c index 9d84d84e..5cf73751 100644 --- a/vdr.c +++ b/vdr.c @@ -22,7 +22,7 @@ * * The project's page is at http://www.cadsoft.de/vdr * - * $Id: vdr.c 1.218 2005/10/09 10:01:45 kls Exp $ + * $Id: vdr.c 1.219 2005/11/04 13:48:39 kls Exp $ */ #include @@ -813,8 +813,14 @@ int main(int argc, char *argv[]) if (Interact) { eOSState state = Interact->ProcessKey(key); if (state == osUnknown && Interact != cControl::Control()) { - if (ISMODELESSKEY(key) && cControl::Control()) + if (ISMODELESSKEY(key) && cControl::Control()) { state = cControl::Control()->ProcessKey(key); + if (state == osEnd) { + // let's not close a menu when replay ends: + cControl::Shutdown(); + continue; + } + } else if (time(NULL) - LastActivity > MENUTIMEOUT) state = osEnd; }