summaryrefslogtreecommitdiff
path: root/epgsearch.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'epgsearch.cpp')
-rw-r--r--epgsearch.cpp12
1 files changed, 5 insertions, 7 deletions
diff --git a/epgsearch.cpp b/epgsearch.cpp
index 0b15f10..b157ea0 100644
--- a/epgsearch.cpp
+++ b/epgsearch.cpp
@@ -576,20 +576,18 @@ SearchResult::SearchResult( string const& data )
}
}
-const cEvent* SearchResult::GetEvent()
+const cEvent* SearchResult::GetEvent(const cChannel* Channel)
{
- /* JJJ: Lock order wrong, fix if function is still used
- * Needs to be Timers, Channels, Recordings Schedules in this sequence
- */
+ if (!Channel) return NULL;
+
#if VDRVERSNUM >= 20301
LOCK_SCHEDULES_READ;
#else
cSchedulesLock schedulesLock;
const cSchedules* Schedules = cSchedules::Schedules(schedulesLock);
-#endif
if (!Schedules) return NULL;
- const cChannel *Channel = GetChannel();
- if (!Channel) return NULL;
+#endif
+
const cSchedule *Schedule = Schedules->GetSchedule(Channel);
if (!Schedule) return NULL;
return Schedule->GetEvent(m_eventId);