diff options
author | kamel5 <vdr.kamel5 (at) gmx (dot) net> | 2020-03-07 16:44:51 +0100 |
---|---|---|
committer | kamel5 <vdr.kamel5 (at) gmx (dot) net> | 2020-03-07 16:55:49 +0100 |
commit | 8335ab0e4100186c50bbe5d4d238f81531c983ab (patch) | |
tree | 7cdac843e32967ffe254b501c2cf99cefee9ba21 | |
parent | 240cbe87e00d1270712a5ba19b3ed9c770b059dd (diff) | |
download | vdr-plugin-tvguide-8335ab0e4100186c50bbe5d4d238f81531c983ab.tar.gz vdr-plugin-tvguide-8335ab0e4100186c50bbe5d4d238f81531c983ab.tar.bz2 |
Fixes for <VDR-2.3.1 compatibility
-rw-r--r-- | recmenuview.c | 46 |
1 files changed, 34 insertions, 12 deletions
diff --git a/recmenuview.c b/recmenuview.c index f15954e..c2659d3 100644 --- a/recmenuview.c +++ b/recmenuview.c @@ -231,12 +231,18 @@ eOSState cRecMenuView::StateMachine(eRecMenuState nextState) { if (cRecMenuTimerConflict *menu = dynamic_cast<cRecMenuTimerConflict*>(activeMenu)) { timerIndex = menu->GetTimerConflictIndex(); } else break; - int timerID = timerConflicts->GetCurrentConflictTimerID(timerIndex) + 1; + const cTimers* timers; #if VDRVERSNUM >= 20301 + int timerID = timerConflicts->GetCurrentConflictTimerID(timerIndex) + 1; + { LOCK_TIMERS_READ; - const cTimer *t = Timers->GetById(timerID); + timers = Timers; + } + const cTimer *t = timers->GetById(timerID); #else - const cTimer *t = Timers.Get(timerID); + int timerID = timerConflicts->GetCurrentConflictTimerID(timerIndex); + timers = &Timers; + const cTimer *t = timers->Get(timerID); #endif if (t) { const cEvent *ev = t->Event(); @@ -266,7 +272,7 @@ eOSState cRecMenuView::StateMachine(eRecMenuState nextState) { timers = &Timers; event = timers->Get(timerID)->Event(); #endif - recManager->DeleteTimer(event); // (timerID); + recManager->DeleteTimer(event); delete activeMenu; if (!DisplayTimerConflict(timerID)) { activeMenu = new cRecMenuConfirmDeleteTimer(event); @@ -280,12 +286,18 @@ eOSState cRecMenuView::StateMachine(eRecMenuState nextState) { if (cRecMenuTimerConflict *menu = dynamic_cast<cRecMenuTimerConflict*>(activeMenu)) { timerIndex = menu->GetTimerConflictIndex(); } else break; - int timerID = timerConflicts->GetCurrentConflictTimerID(timerIndex) + 1; + const cTimers* timers; #if VDRVERSNUM >= 20301 + int timerID = timerConflicts->GetCurrentConflictTimerID(timerIndex) + 1; + { LOCK_TIMERS_READ; - const cTimer *timer = Timers->GetById(timerID); + timers = Timers; + } + const cTimer *timer = timers->GetById(timerID); #else - const cTimer *timer = Timers.Get(timerID); + int timerID = timerConflicts->GetCurrentConflictTimerID(timerIndex); + timers = &Timers; + const cTimer *timer = timers->Get(timerID); #endif if (timer) { delete activeMenu; @@ -666,12 +678,18 @@ eOSState cRecMenuView::StateMachine(eRecMenuState nextState) { if (cRecMenuTimerConflict *menu = dynamic_cast<cRecMenuTimerConflict*>(activeMenu)) { timerConflict = menu->GetTimerConflictIndex(); } else break; - int timerID = timerConflicts->GetCurrentConflictTimerID(timerConflict) + 1; + const cTimers* timers; #if VDRVERSNUM >= 20301 + int timerID = timerConflicts->GetCurrentConflictTimerID(timerConflict) + 1; + { LOCK_TIMERS_READ; - const cTimer *timer = Timers->GetById(timerID); + timers = Timers; + } + const cTimer *timer = timers->GetById(timerID); #else - cTimer *timer = Timers.Get(timerID); + int timerID = timerConflicts->GetCurrentConflictTimerID(timerConflict); + timers = &Timers; + const cTimer *timer = timers->Get(timerID); #endif if (timer) { const cEvent *event = timer->Event(); @@ -713,12 +731,16 @@ eOSState cRecMenuView::StateMachine(eRecMenuState nextState) { originalConflictIndex = menu->GetTimerConflictIndex(); } else break; int originalTimerID = timerConflicts->GetCurrentConflictTimerID(originalConflictIndex); + const cTimers* timers; #if VDRVERSNUM >= 20301 + { LOCK_TIMERS_READ; - const cTimer *timerOriginal = Timers->Get(originalTimerID); + timers = Timers; + } #else - cTimer *timerOriginal = Timers.Get(originalTimerID); + timers = &Timers; #endif + const cTimer *timerOriginal = timers->Get(originalTimerID); if (replace && timerOriginal) { recManager->DeleteTimer(timerOriginal->Event()); recManager->createTimer(replace); |