diff options
Diffstat (limited to 'services.c')
-rw-r--r-- | services.c | 16 |
1 files changed, 14 insertions, 2 deletions
@@ -145,13 +145,25 @@ std::list<std::string> cEpgsearchServiceHandler::TranslateResults(cSearchResults eTimerMatch timerMatch; bool hasTimer = false; - if (Timers.GetMatch(pEvent, &timerMatch)) +#if VDRVERSNUM > 20300 + LOCK_TIMERS_READ; + const cTimers *vdrtimers = Timers; +#else + cTimers *vdrtimers = &Timers; +#endif + if (vdrtimers->GetMatch(pEvent, &timerMatch)) hasTimer = (timerMatch == tmFull); if (!result->search->useAsSearchTimer) result->needsTimer = false; - cChannel *channel = Channels.GetByChannelID(pEvent->ChannelID(), true, true); +#if VDRVERSNUM > 20300 + LOCK_CHANNELS_READ; + const cChannels *vdrchannels = Channels; +#else + cChannels *vdrchannels = &Channels; +#endif + const cChannel *channel = vdrchannels->GetByChannelID(pEvent->ChannelID(), true, true); int timerMode = hasTimer?1:(result->needsTimer?2:0); std::string title = pEvent->Title()?ReplaceAll(pEvent->Title(), "|", "!^pipe!^"):""; |