diff options
-rw-r--r-- | HISTORY | 2 | ||||
-rw-r--r-- | HISTORY.DE | 2 | ||||
-rw-r--r-- | menu_whatson.c | 22 |
3 files changed, 15 insertions, 11 deletions
@@ -30,6 +30,8 @@ fixes: - fixed line breaks in SVDRP command LSTT, thanks to Andreas Mair for providing a patch - improved response time when canceling the search timer thread +- fixed a segfault occurring when navigating to a userdefined epg menu that has expired + in the meantime, thanks to Mike Constabel for reporting 2008-04-29: Version 0.9.24 @@ -31,6 +31,8 @@ fixes: Beenden zu vermeiden, danke e9hack@vdrportal für den Patch - Zeilenumbrüche im SVDRP-Befehl LSTT korrigiert, Danke an Andreas Mair für einen Patch - Antwortzeit beim Abbruch des Suchtimer-Threads verbessert +- Absturz beim Navigieren zu benutzerdef. EPG-Menüs behoben, die zwischenzeitlich schon + in der Vergangenheit lagen, Danke an Mike Constabel für den Hinweis 2008-04-29: Version 0.9.24 diff --git a/menu_whatson.c b/menu_whatson.c index 5993789..0af9cf7 100644 --- a/menu_whatson.c +++ b/menu_whatson.c @@ -334,6 +334,7 @@ void cMenuWhatsOnSearch::LoadSchedules() // time_t SeekTime; cString szTitle; cShowMode* mode = GetShowMode(currentShowMode); + if (!mode) return; if (shiftTime != 0) { @@ -359,17 +360,14 @@ void cMenuWhatsOnSearch::LoadSchedules() } else { - if (mode) - { - seekTime = GetTimeT(mode->GetTime()); - if (seekTime < time(NULL) && currentShowMode != showNow && currentShowMode != showNext) - { - seekTime += HOURS2SECS(24); - szTitle = cString::sprintf("%s - %s (%s)", tr("Overview"), mode->GetDescription(), *WeekDayName(seekTime)); - } - else - szTitle = cString::sprintf("%s - %s", tr("Overview"), mode->GetDescription()); - } + seekTime = GetTimeT(mode->GetTime()); + if (seekTime < time(NULL) && currentShowMode != showNow && currentShowMode != showNext) + { + seekTime += HOURS2SECS(24); + szTitle = cString::sprintf("%s - %s (%s)", tr("Overview"), mode->GetDescription(), *WeekDayName(seekTime)); + } + else + szTitle = cString::sprintf("%s - %s", tr("Overview"), mode->GetDescription()); } SetTitle(szTitle); @@ -460,6 +458,8 @@ showMode cMenuWhatsOnSearch::GetNextMode() else nextShowMode = ModeNext->GetMode(); } + else // no mode found? fall back to 'now' + nextShowMode = showNow; return nextShowMode; } |