diff options
Diffstat (limited to 'epgsearch.cpp')
-rw-r--r-- | epgsearch.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/epgsearch.cpp b/epgsearch.cpp index cd29a0b..7e92a10 100644 --- a/epgsearch.cpp +++ b/epgsearch.cpp @@ -190,8 +190,14 @@ std::string SearchTimer::ToText() if (m_useChannel==1) { +#if VDRVERSNUM >= 20301 + LOCK_CHANNELS_READ; + cChannel const* channelMin = Channels->GetByChannelID( m_channelMin ); + cChannel const* channelMax = Channels->GetByChannelID( m_channelMax ); +#else cChannel const* channelMin = Channels.GetByChannelID( m_channelMin ); cChannel const* channelMax = Channels.GetByChannelID( m_channelMax ); +#endif if (channelMax && channelMin->Number() < channelMax->Number()) tmp_chanSel = *m_channelMin.ToString() + std::string("|") + *m_channelMax.ToString(); @@ -284,7 +290,12 @@ void SearchTimer::ParseChannelIDs( string const& data ) vector< string > parts = StringSplit( data, '|' ); m_channelMin = lexical_cast< tChannelID >( parts[ 0 ] ); +#if VDRVERSNUM >= 20301 + LOCK_CHANNELS_READ; + cChannel const* channel = Channels->GetByChannelID( m_channelMin ); +#else cChannel const* channel = Channels.GetByChannelID( m_channelMin ); +#endif if ( channel != 0 ) m_channels = channel->Name(); @@ -293,7 +304,11 @@ void SearchTimer::ParseChannelIDs( string const& data ) m_channelMax = lexical_cast< tChannelID >( parts[ 1 ] ); +#if VDRVERSNUM >= 20301 + channel = Channels->GetByChannelID( m_channelMax ); +#else channel = Channels.GetByChannelID( m_channelMax ); +#endif if ( channel != 0 ) m_channels += string( " - " ) + channel->Name(); } @@ -352,7 +367,11 @@ bool SearchTimers::Reload() if ( !CheckEpgsearchVersion() || cPluginManager::CallFirstService(ServiceInterface, &service) == 0 ) throw HtmlError( tr("EPGSearch version outdated! Please update.") ); +#if VDRVERSNUM >= 20301 + LOCK_CHANNELS_READ; +#else ReadLock channelsLock( Channels, 0 ); +#endif list< string > timers = service.handler->SearchTimerList(); m_timers.assign( timers.begin(), timers.end() ); m_timers.sort(); @@ -366,7 +385,11 @@ bool SearchTimers::Save(SearchTimer* searchtimer) throw HtmlError( tr("EPGSearch version outdated! Please update.") ); if (!searchtimer) return false; +#if VDRVERSNUM >= 20301 + LOCK_CHANNELS_READ; +#else ReadLock channelsLock( Channels, 0 ); +#endif if (searchtimer->Id() >= 0) return service.handler->ModSearchTimer(searchtimer->ToText()); else @@ -556,7 +579,11 @@ SearchResult::SearchResult( string const& data ) const cEvent* SearchResult::GetEvent() { cSchedulesLock schedulesLock; +#if VDRVERSNUM >= 20301 + LOCK_SCHEDULES_READ; +#else const cSchedules* Schedules = cSchedules::Schedules(schedulesLock); +#endif if (!Schedules) return NULL; const cChannel *Channel = GetChannel(); if (!Channel) return NULL; |