diff options
author | Christian Wieninger <cwieninger (at) gmx (dot) de> | 2008-11-14 19:10:53 +0100 |
---|---|---|
committer | Christian Wieninger <cwieninger (at) gmx (dot) de> | 2008-11-14 19:10:53 +0100 |
commit | bd6e1f64ce8afa380286700945d71df29654f59c (patch) | |
tree | 921c6994c0c18a9ef517c0499afb9cdbb503a854 /menu_whatson.c | |
parent | 1444bd7795170d841f919daea998ea496a5d77c6 (diff) | |
download | vdr-plugin-epgsearch-bd6e1f64ce8afa380286700945d71df29654f59c.tar.gz vdr-plugin-epgsearch-bd6e1f64ce8afa380286700945d71df29654f59c.tar.bz2 |
fixed a segfault occurring when navigating to a userdefined epg menu that has expired in the meantime, thanks to Mike Constabel for reporting
Diffstat (limited to 'menu_whatson.c')
-rw-r--r-- | menu_whatson.c | 22 |
1 files changed, 11 insertions, 11 deletions
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; } |