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.
Steps to reproduce: -Make sure the first entry in recordings is a folder, eg. record something to AAA~BBB~CCC -Play some recording DDD~EEE and stop it -Externally delete/move the DDD~EEE recording (deleting inside VDR doesn't trigger this) -touch .update -Enter recordings menu with direct remote key
Actual result: Recording sub menu AAA~BBB is opened, CCC is selected.
Expected result: Recording main menu opened, AAA selected.
Cool enhanced result: Open the DDD sub menu if it still exists.
Background: I think, the idea was that Set() selects the proper item, or keeps Current()<0 otherwise, so the Open() in cMenuRecordings::cMenuRecordings() is never called. However, the Display() in Set() automatically selects First() as fallback. The 'if (Current() < 0)' test in the constructor will never be triggered because of that.
Cheers,
Udo