From d64416b922d54f1a0fda25d00cd51faf14bafcc3 Mon Sep 17 00:00:00 2001
From: Klaus Schmidinger <vdr@tvdr.de>
Date: Sun, 28 Oct 2001 10:21:01 +0100
Subject: Fixed closing the progress display with the 'Back' key when in trick
 mode and Setup.ShowReplayMode is enabled (cont'd)

---
 HISTORY |  2 +-
 menu.c  | 15 +++++++--------
 2 files changed, 8 insertions(+), 9 deletions(-)

diff --git a/HISTORY b/HISTORY
index a20123be..ea506570 100644
--- a/HISTORY
+++ b/HISTORY
@@ -836,7 +836,7 @@ Video Disk Recorder Revision History
 - Completed storing the current audio volume in the setup.conf file (thanks
   to Andy Grobb).
 - Fixed closing the progress display with the "Back" key when in trick mode
-  and Setup.ShowReplayMode is enabled.
+  and Setup.ShowReplayMode is enabled (thanks to Stefan Huelswitt).
 - New SVDRP commands LSTR and DELR to list and delete recordings (thanks to
   Thomas Heiligenmann).
 - Fixed a crash when pressing the '2' button while replaying a DVD.
diff --git a/menu.c b/menu.c
index aa58276e..d05b159d 100644
--- a/menu.c
+++ b/menu.c
@@ -4,7 +4,7 @@
  * See the main source file 'vdr.c' for copyright information and
  * how to reach the author.
  *
- * $Id: menu.c 1.134 2001/10/27 13:47:12 kls Exp $
+ * $Id: menu.c 1.135 2001/10/28 10:04:50 kls Exp $
  */
 
 #include "menu.h"
@@ -2369,8 +2369,6 @@ cReplayControl::cReplayControl(void)
 cReplayControl::~cReplayControl()
 {
   Hide();
-  if (Setup.ShowReplayMode)
-     Hide(); // the initial Hide() may have reopened the small mode display window
   dvbApi->StopReplay();
 }
 
@@ -2424,10 +2422,7 @@ void cReplayControl::Hide(void)
   if (visible) {
      Interface->Close();
      needsFastResponse = visible = false;
-     if (!modeOnly)
-        ShowMode();
-     else
-        modeOnly = false;
+     modeOnly = false;
      }
 }
 
@@ -2680,6 +2675,7 @@ void cReplayControl::EditCut(void)
         }
      else
         Interface->Error(tr("Editing process already active!"));
+     ShowMode();
      }
 }
 
@@ -2708,6 +2704,7 @@ eOSState cReplayControl::ProcessKey(eKeys Key)
   if (visible) {
      if (timeoutShow && time(NULL) > timeoutShow) {
         Hide();
+        ShowMode();
         timeoutShow = 0;
         }
      else if (!modeOnly)
@@ -2757,8 +2754,10 @@ eOSState cReplayControl::ProcessKey(eKeys Key)
           switch (Key) {
             // Menu control:
             case kMenu:    Hide(); return osMenu; // allow direct switching to menu
-            case kOk:      if (visible && !modeOnly)
+            case kOk:      if (visible && !modeOnly) {
                               Hide();
+                              DoShowMode = true;
+                              }
                            else
                               Show();
                            break;
-- 
cgit v1.2.3