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

Klaus Schmidinger Klaus.Schmidinger at cadsoft.de
Sat Oct 1 12:16:44 CEST 2005


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
-------------- next part --------------
--- 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)


More information about the vdr mailing list