summaryrefslogtreecommitdiff
path: root/epgsearch.cpp
diff options
context:
space:
mode:
authorRolf Ahrenberg <Rolf.Ahrenberg@sci.fi>2017-04-01 23:17:15 +0300
committerRolf Ahrenberg <Rolf.Ahrenberg@sci.fi>2017-04-01 23:17:15 +0300
commiteaa015874e3e494006d67260feaebe6377568ebb (patch)
tree9d407c10cbf0d541377a08e390ed603909abfddb /epgsearch.cpp
parenta8eb15416c38009efb9562c5d64ef87719ae017c (diff)
downloadvdr-plugin-live-eaa015874e3e494006d67260feaebe6377568ebb.tar.gz
vdr-plugin-live-eaa015874e3e494006d67260feaebe6377568ebb.tar.bz2
VDR-2.3.1 compatibility patch by Nachteule.
http://www.vdr-portal.de/board16-video-disk-recorder/board55-vdr-plugins/p1280013-vdr-live-vdr-2-3-1/#post1280013
Diffstat (limited to 'epgsearch.cpp')
-rw-r--r--epgsearch.cpp27
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;