[bug,vdr-1.3.33] invalid LastReplayed() opens first folder

Message ID 433E620C.2010107@cadsoft.de
State New
Headers

Commit Message

Klaus Schmidinger Oct. 1, 2005, 10:16 a.m. UTC
  Udo Richter wrote:
> Hi Klaus,
> 
> I've found a minor bug in the new cMenuRecordings.
> 
> If the recordings menu is opened with OpenSubMenus=true and with 
> cReplayControl::LastReplayed() pointing to a non-existing recording, VDR 
> descends into the first recording sub menu, provide that the first 
> recording menu item is a sub-menu, not a recording.
> ...

The attached patch should fix this.
It also avoids an unjustified "Error while accessing recording!" after
deleting a recording from a subfolder.

Klaus
  

Patch

--- menu.c	2005/09/25 13:37:21	1.362
+++ menu.c	2005/10/01 10:12:32
@@ -1513,6 +1513,7 @@ 
      SetCurrent(First());
   else if (OpenSubMenus && cReplayControl::LastReplayed() && Open(true))
      return;
+  Display();
   SetHelpKeys();
 }
 
@@ -1556,7 +1557,7 @@ 
   if (Refresh) {
      cMenuRecordingItem *ri = (cMenuRecordingItem *)Get(Current());
      if (ri) {
-        cRecording *Recording = GetRecording(ri);
+        cRecording *Recording = Recordings.GetByName(ri->FileName());
         if (Recording)
            CurrentRecording = Recording->FileName();
         }
@@ -1583,7 +1584,8 @@ 
          }
       }
   free(LastItemText);
-  Display();
+  if (Refresh)
+     Display();
 }
 
 cRecording *cMenuRecordings::GetRecording(cMenuRecordingItem *Item)