summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--epgelement.c14
-rw-r--r--recmanager.c12
2 files changed, 20 insertions, 6 deletions
diff --git a/epgelement.c b/epgelement.c
index 2e1d077..8990d60 100644
--- a/epgelement.c
+++ b/epgelement.c
@@ -15,17 +15,23 @@ cEpgElement::~cEpgElement(void) {
}
void cEpgElement::SetTimer() {
+ hasTimer = false;
if (config.useRemoteTimers && pRemoteTimers) {
RemoteTimers_Event_v1_0 rt;
rt.event = event;
if (pRemoteTimers->Service("RemoteTimers::GetTimerByEvent-v1.0", &rt))
hasTimer = true;
- else
- hasTimer = false;
+#if VDRVERSNUM >= 20301
+ } else {
+ eTimerMatch TimerMatch = tmNone;
+ LOCK_TIMERS_READ;
+ const cTimers *timers = Timers;
+ if (timers->GetMatch(event, &TimerMatch) && (TimerMatch == tmFull))
+ hasTimer = true;
+#else
} else if (owner->HasTimer()) {
hasTimer = event->HasTimer();
- } else {
- hasTimer = false;
+#endif
}
}
diff --git a/recmanager.c b/recmanager.c
index c470073..092f942 100644
--- a/recmanager.c
+++ b/recmanager.c
@@ -46,9 +46,17 @@ bool cRecManager::CheckEventForTimer(const cEvent *event) {
pRemoteTimers->Service("RemoteTimers::GetMatch-v1.0", &rtMatch);
if (rtMatch.timerMatch == tmFull)
hasTimer = true;
- } else
+ } else {
+#if VDRVERSNUM >= 20301
+ eTimerMatch TimerMatch = tmNone;
+ LOCK_TIMERS_READ;
+ const cTimers *timers = Timers;
+ if (timers->GetMatch(event, &TimerMatch) && (TimerMatch == tmFull))
+ hasTimer = true;
+#else
hasTimer = event->HasTimer();
-
+#endif
+ }
return hasTimer;
}