Author: fnu https://www.vdr-portal.de/forum/index.php?thread/130045-produktive-problem-und-pluginl%C3%B6sungen-f%C3%BCr-vdr-2-3-2-und-h%C3%B6her/&postID=1284634#post1284634 Index: b/lcd.c =================================================================== --- a/lcd.c +++ b/lcd.c @@ -850,12 +850,22 @@ } if ( time(NULL) > nextLcdUpdate ) { +#if APIVERSNUM < 20301 cChannel *channel = Channels.GetByNumber(primaryDvbApi->CurrentChannel()); +#else + LOCK_CHANNELS_READ; + const cChannel *channel = Channels->GetByNumber(primaryDvbApi->CurrentChannel()); +#endif const cEvent *Present = NULL; +#if APIVERSNUM < 20301 cSchedulesLock schedulesLock; const cSchedules *Schedules = cSchedules::Schedules(schedulesLock); if (Schedules) { const cSchedule *Schedule = Schedules->GetSchedule(channel->GetChannelID()); +#else + LOCK_SCHEDULES_READ; + const cSchedule *Schedule = Schedules->GetSchedule(channel->GetChannelID()); +#endif if (Schedule) { const char *PresentTitle, *PresentSubtitle; PresentTitle = NULL; PresentSubtitle = NULL; @@ -873,7 +883,10 @@ rtcycle = 10; // RT lcrCycle = 10; // LCR } +#if APIVERSNUM < 20301 } +#endif + if ( nextLcdUpdate <= time(NULL) ) nextLcdUpdate=(time(NULL)/60)*60+60; }